aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llinventorymodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llinventorymodel.h')
-rw-r--r--linden/indra/newview/llinventorymodel.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/linden/indra/newview/llinventorymodel.h b/linden/indra/newview/llinventorymodel.h
index d8c3163..8017410 100644
--- a/linden/indra/newview/llinventorymodel.h
+++ b/linden/indra/newview/llinventorymodel.h
@@ -162,7 +162,13 @@ public:
162 void getDirectDescendentsOf(const LLUUID& cat_id, 162 void getDirectDescendentsOf(const LLUUID& cat_id,
163 cat_array_t*& categories, 163 cat_array_t*& categories,
164 item_array_t*& items) const; 164 item_array_t*& items) const;
165 165
166 // SJB: Added version to lock the arrays to catch potential logic bugs
167 void lockDirectDescendentArrays(const LLUUID& cat_id,
168 cat_array_t*& categories,
169 item_array_t*& items);
170 void unlockDirectDescendentArrays(const LLUUID& cat_id);
171
166 // Starting with the object specified, add it's descendents to the 172 // Starting with the object specified, add it's descendents to the
167 // array provided, but do not add the inventory object specified 173 // array provided, but do not add the inventory object specified
168 // by id. There is no guaranteed order. Neither array will be 174 // by id. There is no guaranteed order. Neither array will be
@@ -418,6 +424,10 @@ protected:
418 bool messageUpdateCore(LLMessageSystem* msg, bool do_accounting); 424 bool messageUpdateCore(LLMessageSystem* msg, bool do_accounting);
419 425
420protected: 426protected:
427 cat_array_t* getUnlockedCatArray(const LLUUID& id);
428 item_array_t* getUnlockedItemArray(const LLUUID& id);
429
430protected:
421 // Varaibles used to track what has changed since the last notify. 431 // Varaibles used to track what has changed since the last notify.
422 U32 mModifyMask; 432 U32 mModifyMask;
423 typedef std::set<LLUUID> changed_items_t; 433 typedef std::set<LLUUID> changed_items_t;
@@ -434,6 +444,9 @@ protected:
434 cat_map_t mCategoryMap; 444 cat_map_t mCategoryMap;
435 item_map_t mItemMap; 445 item_map_t mItemMap;
436 446
447 std::map<LLUUID, bool> mCategoryLock;
448 std::map<LLUUID, bool> mItemLock;
449
437 // cache recent lookups 450 // cache recent lookups
438 mutable LLPointer<LLViewerInventoryItem> mLastItem; 451 mutable LLPointer<LLViewerInventoryItem> mLastItem;
439 452