summaryrefslogtreecommitdiff
path: root/indra/newview/lllistcontextmenu.cpp
diff options
context:
space:
mode:
authorRye Mutt <rye@alchemyviewer.org>2022-10-19 16:23:25 -0400
committerRye Mutt <rye@alchemyviewer.org>2022-10-19 16:28:03 -0400
commitbbd8df15de6b8f9b321f251c3e764ea654d5ecc7 (patch)
tree58c0edcab9957d03dad372b37601c479953eee5d /indra/newview/lllistcontextmenu.cpp
parenta48374e8cfbdf261b4902024fb66e60432602b12 (diff)
Fix menu leaks and lazy creation in text editing and scroll lists
Diffstat (limited to 'indra/newview/lllistcontextmenu.cpp')
-rw-r--r--indra/newview/lllistcontextmenu.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/indra/newview/lllistcontextmenu.cpp b/indra/newview/lllistcontextmenu.cpp
index 6bda8b1d0d..77185411c5 100644
--- a/indra/newview/lllistcontextmenu.cpp
+++ b/indra/newview/lllistcontextmenu.cpp
@@ -51,6 +51,7 @@ LLListContextMenu::~LLListContextMenu()
if (!mMenuHandle.isDead())
{
mMenuHandle.get()->die();
+ mMenuHandle.markDead();
}
}
@@ -59,13 +60,8 @@ void LLListContextMenu::show(LLView* spawning_view, const uuid_vec_t& uuids, S32
LLContextMenu* menup = mMenuHandle.get();
if (menup)
{
- //preventing parent (menu holder) from deleting already "dead" context menus on exit
- LLView* parent = menup->getParent();
- if (parent)
- {
- parent->removeChild(menup);
- }
- delete menup;
+ menup->die();
+ mMenuHandle.markDead();
mUUIDs.clear();
}