summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llinventorymodel.cpp17
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)