diff options
author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-04-10 10:30:37 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-10 10:30:37 +0300 |
commit | 5af93ff0d53606db3dca727a8cd1b73d7c37d70b (patch) | |
tree | 2deaa98bcd99fd2860da758a92816c3bdb838acd /indra/newview/llviewermessage.cpp | |
parent | a902138de15067a86a6aeb02fdabd094873da0b2 (diff) | |
parent | 0acee937f55e6d1a198be2549d5cb55a0403dd4d (diff) |
Merge pull request #1177 from secondlife/marchcat/c-merge
Release (Maint W) -> Maint C merge
Diffstat (limited to 'indra/newview/llviewermessage.cpp')
-rw-r--r-- | indra/newview/llviewermessage.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index ada898b98c..c50365db2a 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1563,15 +1563,22 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam } else { - // Highlight item - const BOOL auto_open = - gSavedSettings.getBOOL("ShowInInventory") && // don't open if showininventory is false - !from_name.empty(); // don't open if it's not from anyone. - if(auto_open) + // Highlight item + bool show_in_inventory = gSavedSettings.get<bool>("ShowInInventory"); + bool auto_open = + show_in_inventory && // don't open if ShowInInventory is FALSE + !from_name.empty(); // don't open if it's not from anyone + + // SL-20419 : Don't change active tab if floater is visible + LLFloater* instance = LLFloaterReg::findInstance("inventory"); + bool use_main_panel = instance && instance->getVisible(); + + if (auto_open) { LLFloaterReg::showInstance("inventory"); } - LLInventoryPanel::openInventoryPanelAndSetSelection(auto_open, obj_id, true); + + LLInventoryPanel::openInventoryPanelAndSetSelection(auto_open, obj_id, use_main_panel); } } } @@ -4222,7 +4229,7 @@ void process_object_animation(LLMessageSystem *mesgsys, void **user_data) LLObjectSignaledAnimationMap::instance().getMap()[uuid] = signaled_anims; LLViewerObject *objp = gObjectList.findObject(uuid); - if (!objp) + if (!objp || objp->isDead()) { LL_DEBUGS("AnimatedObjectsNotify") << "Received animation state for unknown object " << uuid << LL_ENDL; return; |