diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2014-04-22 12:19:28 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2014-04-22 12:19:28 -0600 |
commit | ae564140c0ff1e05ebfab0752458313da0c07a79 (patch) | |
tree | fc8a1c9828f2baf8a64b8439561d2db99fc12a81 /indra/newview/llsidepanelinventory.cpp | |
parent | e36b90539525095101526086db5c0cd282060388 (diff) | |
parent | c71e459bed68c1602d409e5c946c5e016d09d105 (diff) |
Merge
Diffstat (limited to 'indra/newview/llsidepanelinventory.cpp')
-rwxr-xr-x | indra/newview/llsidepanelinventory.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index 0c8c3ba187..243d4cf910 100755 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -119,7 +119,6 @@ private: LLSidepanelInventory::LLSidepanelInventory() : LLPanel() , mItemPanel(NULL) - , mInventoryPanelInbox(NULL) , mPanelMainInventory(NULL) , mInboxEnabled(false) , mCategoriesObserver(NULL) @@ -299,7 +298,7 @@ void LLSidepanelInventory::observeInboxModifications(const LLUUID& inboxID) // (this can happen multiple times on the initial session that creates the inbox) // - if (mInventoryPanelInbox != NULL) + if (mInventoryPanelInbox.get() != NULL) { return; } @@ -333,7 +332,8 @@ void LLSidepanelInventory::observeInboxModifications(const LLUUID& inboxID) // LLPanelMarketplaceInbox * inbox = getChild<LLPanelMarketplaceInbox>(MARKETPLACE_INBOX_PANEL); - mInventoryPanelInbox = inbox->setupInventoryPanel(); + LLInventoryPanel* inventory_panel = inbox->setupInventoryPanel(); + mInventoryPanelInbox = inventory_panel->getInventoryPanelHandle(); } void LLSidepanelInventory::enableInbox(bool enabled) @@ -461,9 +461,9 @@ void LLSidepanelInventory::performActionOnSelection(const std::string &action) LLFolderViewItem* current_item = mPanelMainInventory->getActivePanel()->getRootFolder()->getCurSelectedItem(); if (!current_item) { - if (mInventoryPanelInbox) + if (mInventoryPanelInbox.get() && mInventoryPanelInbox.get()->getRootFolder()) { - current_item = mInventoryPanelInbox->getRootFolder()->getCurSelectedItem(); + current_item = mInventoryPanelInbox.get()->getRootFolder()->getCurSelectedItem(); } if (!current_item) @@ -614,10 +614,10 @@ void LLSidepanelInventory::updateVerbs() bool LLSidepanelInventory::canShare() { - LLInventoryPanel* inbox = mInventoryPanelInbox; + LLInventoryPanel* inbox = mInventoryPanelInbox.get(); // Avoid flicker in the Recent tab while inventory is being loaded. - if ( (!inbox || inbox->getRootFolder()->getSelectionList().empty()) + if ( (!inbox || !inbox->getRootFolder() || inbox->getRootFolder()->getSelectionList().empty()) && (mPanelMainInventory && !mPanelMainInventory->getActivePanel()->getRootFolder()->hasVisibleChildren()) ) { return false; @@ -652,9 +652,9 @@ LLInventoryItem *LLSidepanelInventory::getSelectedItem() if (!current_item) { - if (mInventoryPanelInbox) + if (mInventoryPanelInbox.get() && mInventoryPanelInbox.get()->getRootFolder()) { - current_item = mInventoryPanelInbox->getRootFolder()->getCurSelectedItem(); + current_item = mInventoryPanelInbox.get()->getRootFolder()->getCurSelectedItem(); } if (!current_item) @@ -671,12 +671,12 @@ U32 LLSidepanelInventory::getSelectedCount() { int count = 0; - std::set<LLFolderViewItem*> selection_list = mPanelMainInventory->getActivePanel()->getRootFolder()->getSelectionList(); + std::set<LLFolderViewItem*> selection_list = mPanelMainInventory->getActivePanel()->getRootFolder()->getSelectionList(); count += selection_list.size(); - if ((count == 0) && mInboxEnabled && (mInventoryPanelInbox != NULL)) + if ((count == 0) && mInboxEnabled && mInventoryPanelInbox.get() && mInventoryPanelInbox.get()->getRootFolder()) { - selection_list = mInventoryPanelInbox->getRootFolder()->getSelectionList(); + selection_list = mInventoryPanelInbox.get()->getRootFolder()->getSelectionList(); count += selection_list.size(); } @@ -714,9 +714,9 @@ void LLSidepanelInventory::clearSelections(bool clearMain, bool clearInbox) } } - if (clearInbox && mInboxEnabled && (mInventoryPanelInbox != NULL)) + if (clearInbox && mInboxEnabled && mInventoryPanelInbox.get()) { - mInventoryPanelInbox->clearSelection(); + mInventoryPanelInbox.get()->clearSelection(); } updateVerbs(); @@ -726,9 +726,9 @@ std::set<LLFolderViewItem*> LLSidepanelInventory::getInboxSelectionList() { std::set<LLFolderViewItem*> inventory_selected_uuids; - if (mInboxEnabled && (mInventoryPanelInbox != NULL)) + if (mInboxEnabled && mInventoryPanelInbox.get() && mInventoryPanelInbox.get()->getRootFolder()) { - inventory_selected_uuids = mInventoryPanelInbox->getRootFolder()->getSelectionList(); + inventory_selected_uuids = mInventoryPanelInbox.get()->getRootFolder()->getSelectionList(); } return inventory_selected_uuids; |