summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorypanel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llinventorypanel.cpp')
-rw-r--r--indra/newview/llinventorypanel.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 02d0217321..88e7196ce6 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -293,6 +293,30 @@ void LLInventoryPanel::modelChanged(U32 mask)
view_item->refresh();
}
}
+
+ //////////////////////////////
+ // REBUILD Operation
+ // Destroy and regenerate the UI.
+ if (mask & LLInventoryObserver::REBUILD)
+ {
+ handled = true;
+ if (model_item && view_item)
+ {
+ view_item->destroyView();
+ }
+ buildNewViews(item_id);
+ }
+
+ //////////////////////////////
+ // INTERNAL Operation
+ // This could be anything. For now, just refresh the item.
+ if (mask & LLInventoryObserver::INTERNAL)
+ {
+ if (view_item)
+ {
+ view_item->refresh();
+ }
+ }
// We don't typically care which of these masks the item is actually flagged with, since the masks
// may not be accurate (e.g. in the main inventory panel, I move an item from My Inventory into
@@ -359,6 +383,7 @@ void LLInventoryPanel::modelChanged(U32 mask)
}
}
+ /* I don't think we need this code, but not positive -- Seraph
if (!handled)
{
// It's a small change that only requires a refresh.
@@ -366,6 +391,7 @@ void LLInventoryPanel::modelChanged(U32 mask)
// since it is expensive on large inventories
mFolders->refresh();
}
+ */
}
// static