summaryrefslogtreecommitdiff
path: root/indra/newview/llcofwearables.h
diff options
context:
space:
mode:
authorIgor Borovkov <iborovkov@productengine.com>2010-07-09 17:47:33 +0300
committerIgor Borovkov <iborovkov@productengine.com>2010-07-09 17:47:33 +0300
commiteaf114fdfd7967178c168c907ca24f2faa97a7cf (patch)
treed400c4fc8159204edac63cdc8a04bd4142ed847e /indra/newview/llcofwearables.h
parentb6b0465bbcb4c05e1c0a000224dd03b54afa477f (diff)
EXT-7786 FIXED COF Wearables List is updated only when visible (panel outfit eidt)
Every single delete/create operation in the COF causes LLCOFWearables to be updated - on each update its contained LLFlatListView is repopulated. That means massive creation of LLPanel's instances (LLUICtrlFactory::buildPanel(...)). Half of the panel creation time is spent in the EXPAT xml library on parsing the .xml files of the panel item. I've forbidden updates of LLCOFWearables when Panel Outfit Edit is not in the visible chain. Panel Outfit Edit is now updated only when it is visible Also LLCOFWearables refures to refresh its content if COF category version hasn't been changed since the last refresh. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/715 --HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llcofwearables.h')
-rw-r--r--indra/newview/llcofwearables.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h
index 0518d59df3..d005b75eaa 100644
--- a/indra/newview/llcofwearables.h
+++ b/indra/newview/llcofwearables.h
@@ -81,6 +81,7 @@ public:
LLPanel* getSelectedItem();
void getSelectedItems(std::vector<LLPanel*>& selected_items) const;
+ /* Repopulate the COF wearables list if the COF category has been changed since the last refresh */
void refresh();
void clear();
@@ -123,6 +124,9 @@ protected:
LLListContextMenu* mClothingMenu;
LLListContextMenu* mAttachmentMenu;
LLListContextMenu* mBodyPartMenu;
+
+ /* COF category version since last refresh */
+ S32 mCOFVersion;
};