From 4b5849b6c07939abd4840ebf327279da6651dd78 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 2 Dec 2009 16:12:39 -0500 Subject: EXT-3060 : Turn links into broken links immediately when baseobj is purged EXT-3067 : INFRASTRUCTURE : LLInventoryPanel::modelChanged cleanup This first set of checkins is just llinventorypanel infrastructure cleanup, including comments and improved use of iterators. --HG-- branch : avatar-pipeline --- indra/newview/llinventorymodel.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/newview/llinventorymodel.h') diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h index 50f54cb842..d47614e403 100644 --- a/indra/newview/llinventorymodel.h +++ b/indra/newview/llinventorymodel.h @@ -82,6 +82,8 @@ public: // These are used a lot... typedef LLDynamicArray > cat_array_t; typedef LLDynamicArray > item_array_t; + typedef std::set changed_items_t; + // construction & destruction LLInventoryModel(); ~LLInventoryModel(); @@ -269,7 +271,7 @@ public: // that the next notify will include that notification. void addChangedMask(U32 mask, const LLUUID& referent); - const std::set& getChangedIDs() { return mChangedItemIDs; } + const changed_items_t& getChangedIDs() const { return mChangedItemIDs; } // This method to prepares a set of mock inventory which provides // minimal functionality before the actual arrival of inventory. @@ -451,7 +453,6 @@ protected: private: // Variables used to track what has changed since the last notify. U32 mModifyMask; - typedef std::set changed_items_t; changed_items_t mChangedItemIDs; std::map mCategoryLock; -- cgit v1.2.3 From 9841edf0f4b82744ac7790e6c4887e50ce389ecf Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 2 Dec 2009 18:31:01 -0500 Subject: EXT-3060 : Turn links into broken links immediately when baseobj is purged EXT-3067 : INFRASTRUCTURE : LLInventoryPanel::modelChanged cleanup Added REBUILD mask to inventory observer. Added new logic for rebuilding linked items when an item is purged. Took out atrocious expensive refresh that was being triggered on most LLInventoryPanel::modelChanged. --HG-- branch : avatar-pipeline --- indra/newview/llinventorymodel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llinventorymodel.h') diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h index d47614e403..c3e04ab93c 100644 --- a/indra/newview/llinventorymodel.h +++ b/indra/newview/llinventorymodel.h @@ -216,9 +216,9 @@ public: void deleteObject(const LLUUID& id); // delete a particular inventory object by ID, and delete it from - // the server. Also purges linked items via purgeLinkedObjects. + // the server. Also updates linked items. void purgeObject(const LLUUID& id); - void purgeLinkedObjects(const LLUUID& id); + void updateLinkedObjectsFromPurge(const LLUUID& baseobj_id); // This is a method which collects the descendants of the id // provided. If the category is not found, no action is -- cgit v1.2.3