diff options
| author | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2023-05-16 18:03:57 +0300 | 
|---|---|---|
| committer | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2023-05-16 18:03:57 +0300 | 
| commit | 474012abd603f7e7963344fcd9d14cdc7db7bb9a (patch) | |
| tree | b0423c9d7cb9f4b9bc169e887b2f9d0db67cf8b3 | |
| parent | 4d3a8f4a6cd2bef58bc95854af0325ca0190351f (diff) | |
SL-19686 reduce delay when switching between folders
| -rw-r--r-- | indra/llui/llfolderviewitem.cpp | 5 | ||||
| -rw-r--r-- | indra/llui/llfolderviewitem.h | 1 | ||||
| -rw-r--r-- | indra/newview/llinventorypanel.cpp | 4 | 
3 files changed, 8 insertions, 2 deletions
| diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp index 227f1d79e4..bc7a2cc3f0 100644 --- a/indra/llui/llfolderviewitem.cpp +++ b/indra/llui/llfolderviewitem.cpp @@ -1769,6 +1769,11 @@ BOOL LLFolderViewFolder::isRemovable()  	return TRUE;  } +void LLFolderViewFolder::destroyRoot() +{ +    delete this; +} +  // this is an internal method used for adding items to folders.   void LLFolderViewFolder::addItem(LLFolderViewItem* item)  { diff --git a/indra/llui/llfolderviewitem.h b/indra/llui/llfolderviewitem.h index b6437ab61d..232780ccae 100644 --- a/indra/llui/llfolderviewitem.h +++ b/indra/llui/llfolderviewitem.h @@ -394,6 +394,7 @@ public:  	// destroys this folder, and all children  	virtual void destroyView(); +    void destroyRoot();      // whether known children are fully loaded (arrange sets to true)      virtual bool isFolderComplete() { return mIsFolderComplete; } diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index ca5abfd661..edcd45db79 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -2195,8 +2195,8 @@ void LLInventorySingleFolderPanel::updateSingleFolderRoot()          LLUUID root_id = mFolderID;          if (mFolderRoot.get())          { -            removeItemID(getRootFolderID()); -            mFolderRoot.get()->destroyView(); +            mItemMap.clear(); +            mFolderRoot.get()->destroyRoot();          }          mCommitCallbackRegistrar.pushScope(); | 
