diff options
| author | brad kittenbrink <brad@lindenlab.com> | 2010-11-05 16:45:18 -0700 |
|---|---|---|
| committer | brad kittenbrink <brad@lindenlab.com> | 2010-11-05 16:45:18 -0700 |
| commit | d1c365e7b79c91a51b847535d8df0d804af5ae70 (patch) | |
| tree | 786ada896c585004d9e94c2171f13fd808009441 /indra/newview/llsidepaneliteminfo.cpp | |
| parent | 169fe36f69e3be6104af980ed005af5b77909e90 (diff) | |
| parent | 124a59263184391b0b4ec418c532b7a715e9b5a3 (diff) | |
Merge latest lindenlab/viewer-development with mani_linden/viewer-development.
Diffstat (limited to 'indra/newview/llsidepaneliteminfo.cpp')
| -rw-r--r-- | indra/newview/llsidepaneliteminfo.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp index f9c0fd398e..be797ea937 100644 --- a/indra/newview/llsidepaneliteminfo.cpp +++ b/indra/newview/llsidepaneliteminfo.cpp @@ -68,10 +68,22 @@ private: void LLItemPropertiesObserver::changed(U32 mask) { - // if there's a change we're interested in. - if((mask & (LLInventoryObserver::LABEL | LLInventoryObserver::INTERNAL | LLInventoryObserver::REMOVE)) != 0) + const std::set<LLUUID>& mChangedItemIDs = gInventory.getChangedIDs(); + std::set<LLUUID>::const_iterator it; + + const LLUUID& object_id = mFloater->getObjectID(); + + for (it = mChangedItemIDs.begin(); it != mChangedItemIDs.end(); it++) { - mFloater->dirty(); + // set dirty for 'item profile panel' only if changed item is the item for which 'item profile panel' is shown (STORM-288) + if (*it == object_id) + { + // if there's a change we're interested in. + if((mask & (LLInventoryObserver::LABEL | LLInventoryObserver::INTERNAL | LLInventoryObserver::REMOVE)) != 0) + { + mFloater->dirty(); + } + } } } @@ -179,6 +191,11 @@ void LLSidepanelItemInfo::setItemID(const LLUUID& item_id) mItemID = item_id; } +const LLUUID& LLSidepanelItemInfo::getObjectID() const +{ + return mObjectID; +} + void LLSidepanelItemInfo::reset() { LLSidepanelInventorySubpanel::reset(); |
