Skip to content
Snippets Groups Projects
Commit eee28bd0 authored by Leslie Linden's avatar Leslie Linden
Browse files

EXP-1125 FIX -- New tags always shown in Received Items inbox when Inventory...

EXP-1125 FIX -- New tags always shown in Received Items inbox when Inventory window is detached from side panel
EXP-1578 FIX -- received items folder shows shadows of content when scrolling through lots of folders in same window

* Put in guard to prevent the inventory panel from being created multiple times
parent 40687a93
No related branches found
No related tags found
No related merge requests found
...@@ -71,8 +71,6 @@ static const char * const INBOX_BUTTON_NAME = "inbox_btn"; ...@@ -71,8 +71,6 @@ static const char * const INBOX_BUTTON_NAME = "inbox_btn";
static const char * const INBOX_LAYOUT_PANEL_NAME = "inbox_layout_panel"; static const char * const INBOX_LAYOUT_PANEL_NAME = "inbox_layout_panel";
static const char * const MAIN_INVENTORY_LAYOUT_PANEL_NAME = "main_inventory_layout_panel"; static const char * const MAIN_INVENTORY_LAYOUT_PANEL_NAME = "main_inventory_layout_panel";
static const char * const INBOX_INVENTORY_PANEL = "inventory_inbox";
static const char * const INVENTORY_LAYOUT_STACK_NAME = "inventory_layout_stack"; static const char * const INVENTORY_LAYOUT_STACK_NAME = "inventory_layout_stack";
static const char * const MARKETPLACE_INBOX_PANEL = "marketplace_inbox"; static const char * const MARKETPLACE_INBOX_PANEL = "marketplace_inbox";
...@@ -288,34 +286,44 @@ void LLSidepanelInventory::observeInboxCreation() ...@@ -288,34 +286,44 @@ void LLSidepanelInventory::observeInboxCreation()
void LLSidepanelInventory::observeInboxModifications(const LLUUID& inboxID) void LLSidepanelInventory::observeInboxModifications(const LLUUID& inboxID)
{ {
//
// Silently do nothing if we already have an inbox inventory panel set up
// (this can happen multiple times on the initial session that creates the inbox)
//
if (mInventoryPanelInbox != NULL)
{
return;
}
// //
// Track inbox folder changes // Track inbox folder changes
// //
if (inboxID.isNull()) if (inboxID.isNull())
{ {
llwarns << "Attempting to track modifications to non-existant inbox" << llendl; llwarns << "Attempting to track modifications to non-existent inbox" << llendl;
return; return;
} }
if (mCategoriesObserver == NULL) if (mCategoriesObserver == NULL)
{ {
mCategoriesObserver = new LLInventoryCategoriesObserver(); mCategoriesObserver = new LLInventoryCategoriesObserver();
gInventory.addObserver(mCategoriesObserver); gInventory.addObserver(mCategoriesObserver);
} }
mCategoriesObserver->addCategory(inboxID, boost::bind(&LLSidepanelInventory::onInboxChanged, this, inboxID)); mCategoriesObserver->addCategory(inboxID, boost::bind(&LLSidepanelInventory::onInboxChanged, this, inboxID));
// //
// Trigger a load for the entire contents of the Inbox // Trigger a load for the entire contents of the Inbox
// //
LLInventoryModelBackgroundFetch::instance().start(inboxID); LLInventoryModelBackgroundFetch::instance().start(inboxID);
// //
// Set up the inbox inventory view // Set up the inbox inventory view
// //
LLPanelMarketplaceInbox * inbox = getChild<LLPanelMarketplaceInbox>(MARKETPLACE_INBOX_PANEL); LLPanelMarketplaceInbox * inbox = getChild<LLPanelMarketplaceInbox>(MARKETPLACE_INBOX_PANEL);
mInventoryPanelInbox = inbox->setupInventoryPanel(); mInventoryPanelInbox = inbox->setupInventoryPanel();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment