summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermessage.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2024-04-10 10:29:47 +0300
committerGitHub <noreply@github.com>2024-04-10 10:29:47 +0300
commit5118ba7adfc6f49f5b23694507dc7ceb8365b969 (patch)
tree4e499acfe5617682c5eca52998b5c10cdac8609a /indra/newview/llviewermessage.cpp
parent16e638db975278f6018fe1e21ba1954b7f159149 (diff)
parent84dfe55810815e8c274044cea5c81aaed89a787f (diff)
Merge pull request #1179 from secondlife/marchcat/y-merge
Release (Maint W) -> Maint YZ merge
Diffstat (limited to 'indra/newview/llviewermessage.cpp')
-rw-r--r--indra/newview/llviewermessage.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 221ead7667..ff2753d240 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -1561,15 +1561,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);
}
}
}
@@ -4226,7 +4233,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;