summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelobjectinventory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelobjectinventory.cpp')
-rw-r--r--indra/newview/llpanelobjectinventory.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index 5f5c8302fe..33231e8405 100644
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -1349,6 +1349,14 @@ LLPanelObjectInventory::LLPanelObjectInventory(const LLPanelObjectInventory::Par
// Destroys the object
LLPanelObjectInventory::~LLPanelObjectInventory()
{
+ if (mFolders)
+ {
+ mFolders->cancelRenaming();
+ if (LLEditMenuHandler::gEditMenuHandler == mFolders)
+ {
+ LLEditMenuHandler::gEditMenuHandler = NULL;
+ }
+ }
if (!gIdleCallbacks.deleteFunction(idle, this))
{
LL_WARNS() << "LLPanelObjectInventory::~LLPanelObjectInventory() failed to delete callback" << LL_ENDL;
@@ -1398,6 +1406,15 @@ void LLPanelObjectInventory::clearContents()
clearItemIDs();
+ if (mFolders)
+ {
+ mFolders->cancelRenaming();
+ if (LLEditMenuHandler::gEditMenuHandler == mFolders)
+ {
+ LLEditMenuHandler::gEditMenuHandler = NULL;
+ }
+ }
+
if( mScroller )
{
// removes mFolders
@@ -1780,6 +1797,14 @@ void LLPanelObjectInventory::draw()
void LLPanelObjectInventory::deleteAllChildren()
{
+ if (mFolders)
+ {
+ mFolders->cancelRenaming();
+ if (LLEditMenuHandler::gEditMenuHandler == mFolders)
+ {
+ LLEditMenuHandler::gEditMenuHandler = NULL;
+ }
+ }
mScroller = NULL;
mFolders = NULL;
LLView::deleteAllChildren();