From 3fc3773ab848ff7fcfcb40c61e211ee13592f418 Mon Sep 17 00:00:00 2001 From: Richard Nelson Date: Fri, 25 Jun 2010 14:57:42 -0700 Subject: EXT-7991 FIX Crash if exit before outfit autopopulate completes reviewed by Leyla --- indra/newview/llagentwearablesfetch.cpp | 2 +- indra/newview/llviewerinventory.cpp | 15 +++++++++++++++ indra/newview/llviewerinventory.h | 9 +++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index 0a2f0e9399..d911d123f4 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -48,7 +48,7 @@ public: virtual ~LLOrderMyOutfitsOnDestroy() { - if (LLApp::isExiting()) + if (!LLApp::isRunning()) { llwarns << "called during shutdown, skipping" << llendl; return; diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 3430f265ae..2bf05d5907 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -839,6 +839,21 @@ LLInventoryCallbackManager::~LLInventoryCallbackManager() sInstance = NULL; } +//static +void LLInventoryCallbackManager::destroyClass() +{ + if (sInstance) + { + for (callback_map_t::iterator it = sInstance->mMap.begin(), end_it = sInstance->mMap.end(); it != end_it; ++it) + { + // drop LLPointer reference to callback + it->second = NULL; + } + sInstance->mMap.clear(); + } +} + + U32 LLInventoryCallbackManager::registerCB(LLPointer cb) { if (cb.isNull()) diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h index d0d3ad693e..dc3d3f7423 100644 --- a/indra/newview/llviewerinventory.h +++ b/indra/newview/llviewerinventory.h @@ -36,6 +36,7 @@ #include "llinventory.h" #include "llframetimer.h" #include "llwearable.h" +#include "llui.h" //for LLDestroyClass #include // boost::signals2::trackable @@ -299,8 +300,9 @@ private: // misc functions //void inventory_reliable_callback(void**, S32 status); -class LLInventoryCallbackManager +class LLInventoryCallbackManager : public LLDestroyClass { + friend LLDestroyClass; public: LLInventoryCallbackManager(); ~LLInventoryCallbackManager(); @@ -308,9 +310,12 @@ public: void fire(U32 callback_id, const LLUUID& item_id); U32 registerCB(LLPointer cb); private: - std::map > mMap; + typedef std::map > callback_map_t; + callback_map_t mMap; U32 mLastCallback; static LLInventoryCallbackManager *sInstance; + static void destroyClass(); + public: static bool is_instantiated() { return sInstance != NULL; } }; -- cgit v1.2.3 From 18224f89047ab580e4bcb41e29bcb18f815410b2 Mon Sep 17 00:00:00 2001 From: Richard Nelson Date: Fri, 25 Jun 2010 15:43:31 -0700 Subject: EXT-8079 - [crashhunters] Crash in LLImagePreviewAvatar::`scalar deleting destructor' reviewed by Palmer --- indra/newview/llvoavatar.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 4259bb8e73..3d0fe9e0fe 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -865,7 +865,7 @@ private: public: // Responsible for detecting the user's voice signal (and when the // user speaks, it puts a voice symbol over the avatar's head) and gesticulations - LLVoiceVisualizer* mVoiceVisualizer; + LLPointer mVoiceVisualizer; int mCurrentGesticulationLevel; //-------------------------------------------------------------------- -- cgit v1.2.3 From db0ac283135e8b692cf0a9bba1018ff83e147ea3 Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Thu, 8 Jul 2010 13:25:24 +0300 Subject: EXT-8171 FIXED (IT - Corrupted texture pickers are shown on 'Editing Alpha Mask' panel for German locale) - Deleted overriden dimensions in DE, FR and JP locales Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/703/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/de/panel_edit_alpha.xml | 12 ++++++------ indra/newview/skins/default/xui/de/panel_edit_tattoo.xml | 6 +++--- indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml | 6 +++--- indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml | 6 +++--- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/indra/newview/skins/default/xui/de/panel_edit_alpha.xml b/indra/newview/skins/default/xui/de/panel_edit_alpha.xml index b6c53be778..4b48950341 100644 --- a/indra/newview/skins/default/xui/de/panel_edit_alpha.xml +++ b/indra/newview/skins/default/xui/de/panel_edit_alpha.xml @@ -1,10 +1,10 @@ - - - - + + + + - - + + diff --git a/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml index 830c7b0bb8..075a9d752a 100644 --- a/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml +++ b/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml @@ -1,9 +1,9 @@ - - - + + + diff --git a/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml index 9a6939e6b7..086542dee2 100644 --- a/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml +++ b/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml @@ -1,9 +1,9 @@ - - - + + + diff --git a/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml index c3f8c12620..f4cfe6d83f 100644 --- a/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml +++ b/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml @@ -1,9 +1,9 @@ - - - + + + -- cgit v1.2.3 From 414c845ddc0f624bca2eb7847d31afd8df6c5a6a Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Thu, 8 Jul 2010 18:55:21 +0300 Subject: EXT-8266 FIXED (Swap art asset for \"edit\" wrench, \"folder view\" and \"Shopping cart\") - Replaced Edit_Wrench and folder_view_icon icons with provided ones - Shop_no_arrow icon already replaced in EXT-8160 Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/712/ --HG-- branch : product-engine --- .../skins/default/textures/icons/Edit_Wrench.png | Bin 724 -> 3713 bytes .../skins/default/textures/icons/Hierarchy_View_On.png | Bin 183 -> 2839 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/icons/Edit_Wrench.png b/indra/newview/skins/default/textures/icons/Edit_Wrench.png index 1c43960d02..250697b4b1 100644 Binary files a/indra/newview/skins/default/textures/icons/Edit_Wrench.png and b/indra/newview/skins/default/textures/icons/Edit_Wrench.png differ diff --git a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png index c590a5a5d3..296311e797 100644 Binary files a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png and b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png differ -- cgit v1.2.3 From 5fef1c902a3c028e6dd7158955a82b42145c1680 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Thu, 8 Jul 2010 18:55:45 +0300 Subject: EXT-8061 FIXED refactoring, added a mapping for According Tab > Asset Type (COF Wearables) Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/704/ --HG-- branch : product-engine --- indra/newview/llcofwearables.cpp | 44 ++++++++-------------------------------- indra/newview/llcofwearables.h | 2 ++ 2 files changed, 10 insertions(+), 36 deletions(-) diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 8fdbdd08bf..0adbfd6ee2 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -333,6 +333,10 @@ BOOL LLCOFWearables::postBuild() mBodyPartsTab = getChild("tab_body_parts"); mBodyPartsTab->setDropDownStateChangedCallback(boost::bind(&LLCOFWearables::onAccordionTabStateChanged, this, _1, _2)); + mTab2AssetType[mClothingTab] = LLAssetType::AT_CLOTHING; + mTab2AssetType[mAttachmentsTab] = LLAssetType::AT_OBJECT; + mTab2AssetType[mBodyPartsTab] = LLAssetType::AT_BODYPART; + return LLPanel::postBuild(); } @@ -632,49 +636,17 @@ LLAssetType::EType LLCOFWearables::getExpandedAccordionAssetType() static type_map_t type_map; static LLAccordionCtrl* accordion_ctrl = getChild("cof_wearables_accordion"); + const LLAccordionCtrlTab* expanded_tab = accordion_ctrl->getExpandedTab(); - if (type_map.empty()) - { - type_map["tab_clothing"] = LLAssetType::AT_CLOTHING; - type_map["tab_attachments"] = LLAssetType::AT_OBJECT; - type_map["tab_body_parts"] = LLAssetType::AT_BODYPART; - } - - const LLAccordionCtrlTab* tab = accordion_ctrl->getExpandedTab(); - LLAssetType::EType result = LLAssetType::AT_NONE; - - if (tab) - { - type_map_t::iterator i = type_map.find(tab->getName()); - llassert(i != type_map.end()); - result = i->second; - } - - return result; + return get_if_there(mTab2AssetType, expanded_tab, LLAssetType::AT_NONE); } LLAssetType::EType LLCOFWearables::getSelectedAccordionAssetType() { - //*TODO share the code with ::getExpandedAccordionAssetType(...) static LLAccordionCtrl* accordion_ctrl = getChild("cof_wearables_accordion"); const LLAccordionCtrlTab* selected_tab = accordion_ctrl->getSelectedTab(); - - if (selected_tab == mClothingTab) - { - return LLAssetType::AT_CLOTHING; - } - else if (selected_tab == mAttachmentsTab) - { - return LLAssetType::AT_OBJECT; - } - else if (selected_tab == mBodyPartsTab) - { - return LLAssetType::AT_BODYPART; - } - else - { - return LLAssetType::AT_NONE; - } + + return get_if_there(mTab2AssetType, selected_tab, LLAssetType::AT_NONE); } void LLCOFWearables::onListRightClick(LLUICtrl* ctrl, S32 x, S32 y, LLListContextMenu* menu) diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h index de148e0d46..0518d59df3 100644 --- a/indra/newview/llcofwearables.h +++ b/indra/newview/llcofwearables.h @@ -116,6 +116,8 @@ protected: LLAccordionCtrlTab* mLastSelectedTab; + std::map mTab2AssetType; + LLCOFCallbacks mCOFCallbacks; LLListContextMenu* mClothingMenu; -- cgit v1.2.3 From 98d8e221535996540d2abf7f27c175258397cbac Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Thu, 8 Jul 2010 19:06:05 +0300 Subject: EXT-8275 FIXED (Build > Group > Edit Group - Replace checkbox with new Edit icon, and move to the right of group name) - Switched order of 'Share' checkbox and 'Deed' button - Switched order of 'Group Name' name box and 'Set Group' button - Changed image_overlay of 'Set Group' button Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/717/ --HG-- branch : product-engine --- .../newview/skins/default/xui/en/floater_tools.xml | 49 ++++++++++------------ 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 194a93977f..a96dbe3553 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -910,29 +910,34 @@ width="75"> Group: +