diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 802544089ca9c57e542dbd9fe213fbb1ac01c372..bbb95e0cc4e9ce6c1e874f17af93356bbb819196 100755 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -888,6 +888,9 @@ void LLFloaterTools::onClose(bool app_quitting) // hide the advanced object weights floater LLFloaterReg::hideInstance("object_weights"); + + // prepare content for next call + mPanelContents->clearContents(); } void click_popup_info(void*) diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp index 1a427338e5ae54c2cd11b41d743538bc1010388a..5be796ea7aa2ebf97222548817d1773383d76e62 100755 --- a/indra/newview/llpanelcontents.cpp +++ b/indra/newview/llpanelcontents.cpp @@ -141,6 +141,13 @@ void LLPanelContents::refresh() } } +void LLPanelContents::clearContents() +{ + if (mPanelInventoryObject) + { + mPanelInventoryObject->clearInventoryTask(); + } +} // diff --git a/indra/newview/llpanelcontents.h b/indra/newview/llpanelcontents.h index 62ccb64a4cd619d7e73194ce839466c251f1d849..cf2c3af2a92c573f5869a27dfb52b9cb7f59ffe4 100755 --- a/indra/newview/llpanelcontents.h +++ b/indra/newview/llpanelcontents.h @@ -49,6 +49,7 @@ class LLPanelContents : public LLPanel virtual ~LLPanelContents(); void refresh(); + void clearContents(); static void onClickNewScript(void*); diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 6c9616511ff4e51cb0f3b0549ff1622583235b9a..95472874ec1b7c6102003772a25704b1afc28c0a 100755 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -1862,14 +1862,19 @@ void LLPanelObjectInventory::refresh() } if(!has_inventory) { - mTaskUUID = LLUUID::null; - removeVOInventoryListener(); - clearContents(); + clearInventoryTask(); } mInventoryViewModel.setTaskID(mTaskUUID); //llinfos << "LLPanelObjectInventory::refresh() " << mTaskUUID << llendl; } +void LLPanelObjectInventory::clearInventoryTask() +{ + mTaskUUID = LLUUID::null; + removeVOInventoryListener(); + clearContents(); +} + void LLPanelObjectInventory::removeSelectedItem() { if(mFolders) diff --git a/indra/newview/llpanelobjectinventory.h b/indra/newview/llpanelobjectinventory.h index 9559f7e886186e82597815d894aaf6a67b2f6553..3de49242accf08ad6eedff7422159acff06900ef 100755 --- a/indra/newview/llpanelobjectinventory.h +++ b/indra/newview/llpanelobjectinventory.h @@ -62,6 +62,7 @@ class LLPanelObjectInventory : public LLPanel, public LLVOInventoryListener void refresh(); const LLUUID& getTaskUUID() { return mTaskUUID;} + void clearInventoryTask(); void removeSelectedItem(); void startRenamingSelectedItem();