From 187c7042b98ce393b16d4277fd024d99e5cad0c5 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 21 May 2013 11:43:37 -0400 Subject: CHOP-948: correctly persist the UpdaterWillingToTest preference --- indra/newview/app_settings/settings.xml | 11 +++++++++++ .../newview/skins/default/xui/en/panel_preferences_setup.xml | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 31c730e0bc..b3538bf069 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12494,6 +12494,17 @@ Value update + UpdaterWillingToTest + + Comment + Whether or not the updater should offer test candidate upgrades. + Persist + 1 + Type + Boolean + Value + 1 + UploadBakedTexOld Comment diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index 2fb6a9fd40..dd4533ae74 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -237,8 +237,7 @@ enabled="true" follows="left|top" height="14" - initial_value="true" - control_name="UpdateWillingToTest" + control_name="UpdaterWillingToTest" label="Willing to update to release candidates" left_delta="0" mouse_opaque="true" -- cgit v1.2.3 From c13d75dc386db883c35624a92ca452e04cc1365a Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 21 May 2013 12:45:44 -0400 Subject: CHOP-947: create summary.json (really python) metadata file for TeamCity results --- indra/newview/CMakeLists.txt | 6 +++++- indra/newview/viewer_manifest.py | 6 ++---- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6e0bb161af..227644f14f 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1247,8 +1247,12 @@ set(viewer_HEADER_FILES source_group("CMake Rules" FILES ViewerInstall.cmake) +# the viewer_version.txt file created here is for passing to viewer_manifest +# the summary.json file is created for the benefit of the TeamCity builds, where +# it is used to provide descriptive information to the build results page add_custom_target(generate_viewer_version ALL - COMMAND echo "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" > ${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt + COMMAND printf '${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}' > ${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt + COMMAND printf '{"Type":"viewer","Version":"${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}"}' > ${CMAKE_BINARY_DIR}/summary.json COMMENT Generating viewer_version.txt for manifest processing ) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index bc473f6d62..2578c81224 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -154,10 +154,8 @@ class ViewerManifest(LLManifest): # Files in the newview/ directory self.path("gpu_table.txt") - - # The summary.json file gets left in the base checkout dir by - # build.sh. It's only created for a build.sh build. - if not self.path2basename(os.path.join(os.pardir, os.pardir), "summary.json"): + # The summary.json file gets left in the build directory by newview/CMakeLists.txt. + if not self.path2basename(os.pardir, "summary.json"): print "No summary.json file" def grid(self): -- cgit v1.2.3 From 2df5b9caa6e5d30f4af91a99a32674938cbc3c1a Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 21 May 2013 17:25:51 -0400 Subject: BUG-2432: Crashfix. Don't call map::erase when the iterator is not valid. --- indra/newview/llmeshrepository.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 17311dd75e..b47fe9d4b1 100755 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -1215,8 +1215,8 @@ bool LLMeshRepoThread::headerReceived(const LLVolumeParams& mesh_params, U8* dat mLODReqQ.push(req); LLMeshRepository::sLODProcessing++; } + mPendingLOD.erase(iter); } - mPendingLOD.erase(iter); } return true; -- cgit v1.2.3 From 3be79d5371c291264b12ecb3bf8daf0761bf1123 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 23 May 2013 16:28:20 -0400 Subject: MAINT-2724: Make viewer explicitly set coroutine stack size. Introduce LLCoros::setStackSize(), with a compile-time default value we hope we never have to use. Make LLAppViewer call it with the value of the new settings variable CoroutineStackSize as soon as we've read settings files. (While we're at it, notify interested parties that we've read settings files.) Give CoroutineStackSize a default value four times the previous default stack size. Make LLCoros::launch() pass the saved stack size to each new coroutine instance. Re-enable lleventcoro integration test. Use LLSDMap() construct rather than LLSD::insert(), which used to return the modified object but is now void. --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llappviewer.cpp | 12 ++++++++++++ 2 files changed, 23 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index b3538bf069..f356cff9d8 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1905,6 +1905,17 @@ Value 0 + CoroutineStackSize + + Comment + Size (in bytes) for each coroutine stack + Persist + 0 + Type + S32 + Value + 262144 + CreateToolCopyCenters Comment diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 45a990f65f..fdc2cdb78d 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -117,6 +117,7 @@ #include "llleap.h" #include "stringize.h" +#include "llcoros.h" // Third party library includes #include @@ -755,6 +756,7 @@ bool LLAppViewer::init() //set the max heap size. initMaxHeapSize() ; + LLCoros::instance().setStackSize(gSavedSettings.getS32("CoroutineStackSize")); LLPrivateMemoryPoolManager::initClass((BOOL)gSavedSettings.getBOOL("MemoryPrivatePoolEnabled"), (U32)gSavedSettings.getU32("MemoryPrivatePoolSize")*1024*1024) ; @@ -2810,6 +2812,16 @@ bool LLAppViewer::initConfiguration() loadColorSettings(); + // Let anyone else who cares know that we've populated our settings + // variables. + for (LLControlGroup::key_iter ki(LLControlGroup::beginKeys()), kend(LLControlGroup::endKeys()); + ki != kend; ++ki) + { + // For each named instance of LLControlGroup, send an event saying + // we've initialized an LLControlGroup instance by that name. + LLEventPumps::instance().obtain("LLControlGroup").post(LLSDMap("init", *ki)); + } + return true; // Config was successful. } -- cgit v1.2.3 From dcfb18373eca7986a73d8b9a1d34970cc0a23ed9 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 29 May 2013 10:45:09 -0400 Subject: increment version to 3.5.4 --- indra/newview/VIEWER_VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 444877d48f..65afb3b886 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -3.5.3 +3.5.4 -- cgit v1.2.3 From c67db8e75511de879c69de0faf06a88ac3cc731d Mon Sep 17 00:00:00 2001 From: Nyx Linden Date: Mon, 17 Jun 2013 18:52:03 -0400 Subject: SH-4274 FIX Adding RegionHandshakeReply flags for SSA Adding a flag to hint to the sim that this viewer knows how to handle AvatarAppearance messages for self in SSA-enabled regions. --- indra/newview/llviewerregion.cpp | 6 +++++- indra/newview/llviewerregion.h | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index b8b53aa6e4..48c050f403 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1568,7 +1568,11 @@ void LLViewerRegion::unpackRegionHandshake() msg->addUUID("AgentID", gAgent.getID()); msg->addUUID("SessionID", gAgent.getSessionID()); msg->nextBlock("RegionInfo"); - msg->addU32("Flags", 0x0 ); + + U32 flags = 0; + flags |= REGION_HANDSHAKE_SUPPORTS_SELF_APPEARANCE; + + msg->addU32("Flags", flags ); msg->sendReliable(host); } diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index b5fe4677b7..5ac2a83aaf 100755 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -49,6 +49,8 @@ #define WATER 2 const U32 MAX_OBJECT_CACHE_ENTRIES = 50000; +// Region handshake flags +const U32 REGION_HANDSHAKE_SUPPORTS_SELF_APPEARANCE = 1U << 2; class LLEventPoll; class LLVLComposition; -- cgit v1.2.3 From 425ff28e4bc38ba3f7bfeade4a72dce4eba63b54 Mon Sep 17 00:00:00 2001 From: "prep@lindenlab.com" Date: Tue, 18 Jun 2013 10:00:05 -0500 Subject: SH-4275: Fixed regression - appearances are no longer broadcasted before exiting appearance editor --- indra/newview/llsidepanelappearance.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index d25d203feb..e082859767 100755 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -452,8 +452,7 @@ void LLSidepanelAppearance::editWearable(LLViewerWearable *wearable, LLView *dat LLFloaterSidePanelContainer::showPanel("appearance", LLSD()); LLSidepanelAppearance *panel = dynamic_cast(data); if (panel) - { - panel->showOutfitsInventoryPanel(); + { panel->showWearableEditPanel(wearable, disable_camera_switch); } } -- cgit v1.2.3 From 27fc270c73fdf3db5c07e9ed43b7f4d0994b2cc2 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Tue, 18 Jun 2013 16:51:37 -0400 Subject: SH-4262 WIP - fix for the reordering bug in AIS regions. --- indra/newview/llaisapi.cpp | 7 +++++++ indra/newview/llappearancemgr.cpp | 5 +++++ indra/newview/llviewerinventory.cpp | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp index 393e5c0a68..aad12a9cc9 100755 --- a/indra/newview/llaisapi.cpp +++ b/indra/newview/llaisapi.cpp @@ -326,6 +326,12 @@ void AISUpdate::parseUpdate(const LLSD& update) { LLUUID item_id = update["item_id"].asUUID(); LLPointer new_item(new LLViewerInventoryItem); + LLViewerInventoryItem *curr_item = gInventory.getItem(item_id); + if (curr_item) + { + // Default to current values where not provided. + new_item->copyViewerItem(curr_item); + } BOOL rv = new_item->unpackMessage(update); if (rv) { @@ -468,6 +474,7 @@ void AISUpdate::doUpdate() // cases. Maybe break out the update/create cases, in which // case this is update. LL_DEBUGS("Inventory") << "updated item " << item_id << llendl; + //LL_DEBUGS("Inventory") << ll_pretty_print_sd(new_item->asLLSD()) << llendl; gInventory.updateItem(new_item); } diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index f5f6faf6b6..16552f0082 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -3434,7 +3434,12 @@ bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_b swap_item->setDescription(item->getActualDescription()); item->setDescription(tmp); + // LL_DEBUGS("Inventory") << "swap, item " + // << ll_pretty_print_sd(item->asLLSD()) + // << " swap_item " + // << ll_pretty_print_sd(swap_item->asLLSD()) << llendl; + // FIXME switch to use AISv3 where supported. //items need to be updated on a dataserver item->setComplete(TRUE); item->updateServer(FALSE); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 55575764b9..26aecd39d1 100755 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -360,7 +360,8 @@ void LLViewerInventoryItem::updateServer(BOOL is_new) const if(gAgent.getID() != mPermissions.getOwner()) { // *FIX: deal with this better. - llwarns << "LLViewerInventoryItem::updateServer() - for unowned item" + llwarns << "LLViewerInventoryItem::updateServer() - for unowned item " + << ll_pretty_print_sd(this->asLLSD()) << llendl; return; } -- cgit v1.2.3 From f88594599c01edff981b6d070f84566fcb7d4ecf Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Tue, 18 Jun 2013 16:54:37 -0400 Subject: SH-4237 WIP - removed somewhat misleading warning --- indra/newview/llaisapi.cpp | 5 ----- 1 file changed, 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp index 7e751ad6c7..8037654812 100755 --- a/indra/newview/llaisapi.cpp +++ b/indra/newview/llaisapi.cpp @@ -313,12 +313,7 @@ void AISUpdate::parseUpdate(const LLSD& update) const LLSD& links = embedded["link"]; parseCreatedLinks(links); } - else - { - llwarns << "unrecognized embedded field " << field << llendl; - } } - } // Parse item update at the top level. -- cgit v1.2.3 From 4ffc162492a3fe882af0899ba70e835c80367d09 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Wed, 19 Jun 2013 16:17:33 -0400 Subject: SH-4263 FIX - added yet another level of callback kludgery to updateAppearanceFromCOF() --- indra/newview/llappearancemgr.cpp | 57 ++++++++++++++++++++++++--------------- indra/newview/llappearancemgr.h | 7 +++-- 2 files changed, 40 insertions(+), 24 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 16552f0082..cb32bf9c40 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -436,11 +436,14 @@ S32 LLCallAfterInventoryCopyMgr::sInstanceCount = 0; LLUpdateAppearanceOnDestroy::LLUpdateAppearanceOnDestroy(bool update_base_outfit_ordering, bool enforce_item_restrictions, - bool enforce_ordering): + bool enforce_ordering, + nullary_func_t post_update_func + ): mFireCount(0), mUpdateBaseOrder(update_base_outfit_ordering), mEnforceItemRestrictions(enforce_item_restrictions), - mEnforceOrdering(enforce_ordering) + mEnforceOrdering(enforce_ordering), + mPostUpdateFunc(post_update_func) { selfStartPhase("update_appearance_on_destroy"); } @@ -464,7 +467,10 @@ LLUpdateAppearanceOnDestroy::~LLUpdateAppearanceOnDestroy() selfStopPhase("update_appearance_on_destroy"); - LLAppearanceMgr::instance().updateAppearanceFromCOF(mUpdateBaseOrder, mEnforceItemRestrictions, mEnforceOrdering); + LLAppearanceMgr::instance().updateAppearanceFromCOF(mUpdateBaseOrder, + mEnforceItemRestrictions, + mEnforceOrdering, + mPostUpdateFunc); } } @@ -473,29 +479,34 @@ LLUpdateAppearanceAndEditWearableOnDestroy::LLUpdateAppearanceAndEditWearableOnD { } -LLUpdateAppearanceAndEditWearableOnDestroy::~LLUpdateAppearanceAndEditWearableOnDestroy() +void edit_wearable_and_customize_avatar(LLUUID item_id) { - if (!LLApp::isExiting()) + // Start editing the item if previously requested. + gAgentWearables.editWearableIfRequested(item_id); + + // TODO: camera mode may not be changed if a debug setting is tweaked + if( gAgentCamera.cameraCustomizeAvatar() ) { - LLAppearanceMgr::instance().updateAppearanceFromCOF(); - - // Start editing the item if previously requested. - gAgentWearables.editWearableIfRequested(mItemID); - - // TODO: camera mode may not be changed if a debug setting is tweaked - if( gAgentCamera.cameraCustomizeAvatar() ) + // If we're in appearance editing mode, the current tab may need to be refreshed + LLSidepanelAppearance *panel = dynamic_cast( + LLFloaterSidePanelContainer::getPanel("appearance")); + if (panel) { - // If we're in appearance editing mode, the current tab may need to be refreshed - LLSidepanelAppearance *panel = dynamic_cast( - LLFloaterSidePanelContainer::getPanel("appearance")); - if (panel) - { - panel->showDefaultSubpart(); - } + panel->showDefaultSubpart(); } } } +LLUpdateAppearanceAndEditWearableOnDestroy::~LLUpdateAppearanceAndEditWearableOnDestroy() +{ + if (!LLApp::isExiting()) + { + LLAppearanceMgr::instance().updateAppearanceFromCOF( + false,true,true, + boost::bind(edit_wearable_and_customize_avatar, mItemID)); + } +} + struct LLFoundData { @@ -1971,7 +1982,8 @@ void LLAppearanceMgr::enforceCOFItemRestrictions(LLPointer void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering, bool enforce_item_restrictions, - bool enforce_ordering) + bool enforce_ordering, + nullary_func_t post_update_func) { if (mIsInUpdateAppearanceFromCOF) { @@ -1989,7 +2001,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering, // enforce_item_restrictions to false so we don't get // caught in a perpetual loop. LLPointer cb( - new LLUpdateAppearanceOnDestroy(update_base_outfit_ordering, false, enforce_ordering)); + new LLUpdateAppearanceOnDestroy(update_base_outfit_ordering, false, enforce_ordering, post_update_func)); enforceCOFItemRestrictions(cb); return; } @@ -2003,7 +2015,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering, // to wait for the update callbacks, then (finally!) call // updateAppearanceFromCOF() with no additional COF munging needed. LLPointer cb( - new LLUpdateAppearanceOnDestroy(false, false, false)); + new LLUpdateAppearanceOnDestroy(false, false, false, post_update_func)); updateClothingOrderingInfo(LLUUID::null, update_base_outfit_ordering, cb); return; } @@ -2120,6 +2132,7 @@ void LLAppearanceMgr::updateAppearanceFromCOF(bool update_base_outfit_ordering, { doOnIdleRepeating(boost::bind(&LLWearableHoldingPattern::pollFetchCompletion,holder)); } + post_update_func(); } void LLAppearanceMgr::getDescendentsOfAssetType(const LLUUID& category, diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 9eb26767c4..a257f30ea5 100755 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -51,7 +51,8 @@ public: void updateAppearanceFromCOF(bool update_base_outfit_ordering = false, bool enforce_item_restrictions = true, - bool enforce_ordering = true); + bool enforce_ordering = true, + nullary_func_t post_update_func = no_op); bool needToSaveCOF(); void updateCOF(const LLUUID& category, bool append = false); void wearInventoryCategory(LLInventoryCategory* category, bool copy, bool append); @@ -272,7 +273,8 @@ class LLUpdateAppearanceOnDestroy: public LLInventoryCallback public: LLUpdateAppearanceOnDestroy(bool update_base_outfit_ordering = false, bool enforce_item_restrictions = true, - bool enforce_ordering = true); + bool enforce_ordering = true, + nullary_func_t post_update_func = no_op); virtual ~LLUpdateAppearanceOnDestroy(); /* virtual */ void fire(const LLUUID& inv_item); @@ -281,6 +283,7 @@ private: bool mUpdateBaseOrder; bool mEnforceItemRestrictions; bool mEnforceOrdering; + nullary_func_t mPostUpdateFunc; }; class LLUpdateAppearanceAndEditWearableOnDestroy: public LLInventoryCallback -- cgit v1.2.3 From 01ffa6788793cdecff313b704422f0e814452489 Mon Sep 17 00:00:00 2001 From: Nyx Linden Date: Fri, 21 Jun 2013 21:21:57 -0400 Subject: SH-4240 FIX Users can set their hover height to 0 Adjusted the startup conditions, and relogging should apply the enforcement as appropriate now. Note that this affects the startup enforcement and should re-test the macro avatar loading bug. --- indra/newview/lltoolmorph.cpp | 4 ++-- indra/newview/llviewerwearable.cpp | 6 ++++-- indra/newview/llviewerwearable.h | 6 +++--- indra/newview/llvoavatar.cpp | 6 +++--- 4 files changed, 12 insertions(+), 10 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoolmorph.cpp b/indra/newview/lltoolmorph.cpp index fa94b52362..71e0509d03 100755 --- a/indra/newview/lltoolmorph.cpp +++ b/indra/newview/lltoolmorph.cpp @@ -151,7 +151,7 @@ void LLVisualParamHint::preRender(BOOL clear_depth) LLViewerWearable* wearable = (LLViewerWearable*)mWearablePtr; if (wearable) { - wearable->setVolitile(TRUE); + wearable->setVolatile(TRUE); } mLastParamWeight = mVisualParam->getWeight(); mWearablePtr->setVisualParamWeight(mVisualParam->getID(), mVisualParamWeight, FALSE); @@ -250,7 +250,7 @@ BOOL LLVisualParamHint::render() LLViewerWearable* wearable = (LLViewerWearable*)mWearablePtr; if (wearable) { - wearable->setVolitile(FALSE); + wearable->setVolatile(FALSE); } gAgentAvatarp->updateVisualParams(); diff --git a/indra/newview/llviewerwearable.cpp b/indra/newview/llviewerwearable.cpp index e8425dc76a..76f94935b8 100644 --- a/indra/newview/llviewerwearable.cpp +++ b/indra/newview/llviewerwearable.cpp @@ -72,14 +72,16 @@ private: static std::string asset_id_to_filename(const LLUUID &asset_id); LLViewerWearable::LLViewerWearable(const LLTransactionID& transaction_id) : - LLWearable() + LLWearable(), + mVolatile(FALSE) { mTransactionID = transaction_id; mAssetID = mTransactionID.makeAssetID(gAgent.getSecureSessionID()); } LLViewerWearable::LLViewerWearable(const LLAssetID& asset_id) : - LLWearable() + LLWearable(), + mVolatile(FALSE) { mAssetID = asset_id; mTransactionID.setNull(); diff --git a/indra/newview/llviewerwearable.h b/indra/newview/llviewerwearable.h index 047b2ce143..ef8c29323e 100644 --- a/indra/newview/llviewerwearable.h +++ b/indra/newview/llviewerwearable.h @@ -68,8 +68,8 @@ public: void setParamsToDefaults(); void setTexturesToDefaults(); - void setVolitile(BOOL volitle) { mVolitle = volitle; } // TRUE when doing preview renders, some updates will be suppressed. - BOOL getVolitile() { return mVolitle; } + void setVolatile(BOOL is_volatile) { mVolatile = is_volatile; } // TRUE when doing preview renders, some updates will be suppressed. + BOOL getVolatile() { return mVolatile; } /*virtual*/ LLUUID getDefaultTextureImageID(LLAvatarAppearanceDefines::ETextureIndex index) const; @@ -98,7 +98,7 @@ protected: LLAssetID mAssetID; LLTransactionID mTransactionID; - BOOL mVolitle; // True when rendering preview images. Can suppress some updates. + BOOL mVolatile; // True when rendering preview images. Can suppress some updates. LLUUID mItemID; // ID of the inventory item in the agent's inventory }; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 46b909c4a1..8c20533b4c 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -5223,7 +5223,7 @@ void LLVOAvatar::computeBodySize() // Enforce a constraint to make sure we don't go below 1.1 meters (server-enforced limit) // Camera positioning and other things start to break down when your avatar is "walking" while being fully underground const LLViewerObject * last_object = NULL; - if (isSelf() && getWearableData() && isFullyLoaded() && !LLApp::isQuitting()) + if (isSelf() && getWearableData() && !LLApp::isQuitting()) { // Do not force a hover parameter change while we have pending attachments, which may be mesh-based with // joint offsets. @@ -5246,7 +5246,7 @@ void LLVOAvatar::computeBodySize() last_object = object; llwarns << "attachment at point: " << (*points_iter).first << " object exists: " << object->getAttachmentItemID() << llendl; loaded &=!object->isDrawableState(LLDrawable::REBUILD_ALL); - if (!loaded && shape && !shape->getVolitile()) + if (!loaded && shape && !shape->getVolatile()) { llwarns << "caught unloaded attachment! skipping enforcement" << llendl; } @@ -5259,7 +5259,7 @@ void LLVOAvatar::computeBodySize() { LL_DEBUGS("Avatar") << "scanned at least one object!" << LL_ENDL; } - if (loaded && shape && !shape->getVolitile()) + if (loaded && shape && !shape->getVolatile()) { F32 hover_value = shape->getVisualParamWeight(AVATAR_HOVER); if (hover_value < 0.0f && (mBodySize.mV[VZ] + hover_value < 1.1f)) -- cgit v1.2.3