diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llinventorymodel.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index 2ad95991a2..bf07793e8b 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -1786,7 +1786,20 @@ void LLInventoryModel::addChangedMask(U32 mask, const LLUUID& referent) mModifyMask |= mask; } - if (referent.notNull() && (mChangedItemIDs.find(referent) == mChangedItemIDs.end())) + bool needs_update = false; + if (referent.notNull()) + { + if (mIsNotifyObservers) + { + needs_update = mChangedItemIDsBacklog.find(referent) == mChangedItemIDsBacklog.end(); + } + else + { + needs_update = mChangedItemIDs.find(referent) == mChangedItemIDs.end(); + } + } + + if (needs_update) { if (mIsNotifyObservers) { @@ -1797,6 +1810,8 @@ void LLInventoryModel::addChangedMask(U32 mask, const LLUUID& referent) mChangedItemIDs.insert(referent); } + // Fix me: From DD-81, probably shouldn't be here, instead + // should be somewhere in an observer update_marketplace_category(referent, false); if (mask & LLInventoryObserver::ADD) |