diff options
author | Leyla Farazha <leyla@lindenlab.com> | 2010-07-19 17:22:12 -0700 |
---|---|---|
committer | Leyla Farazha <leyla@lindenlab.com> | 2010-07-19 17:22:12 -0700 |
commit | d603085c0332f5d615cc6583e13ed0aa5ab21908 (patch) | |
tree | bac8d5e6b99643448579060d38a2e69fab65caf7 /indra/newview/llavataractions.cpp | |
parent | 474457ea7ea1bd178682788426a4cf40c3fffdcd (diff) | |
parent | 4339600d43601f07d01c676cce5da17c2758c4cb (diff) |
Merge with dessie/viewer-release
Diffstat (limited to 'indra/newview/llavataractions.cpp')
-rw-r--r-- | indra/newview/llavataractions.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index d3345f0904..a6e1691ffa 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -60,6 +60,7 @@ #include "llimview.h" // for gIMMgr #include "llmutelist.h" #include "llnotificationsutil.h" // for LLNotificationsUtil +#include "llpaneloutfitedit.h" #include "llrecentpeople.h" #include "llsidetray.h" #include "lltrans.h" @@ -428,12 +429,28 @@ namespace action_give_inventory typedef std::set<LLUUID> uuid_set_t; /** + * Returns a pointer to 'Add More' inventory panel of Edit Outfit SP. + */ + static LLInventoryPanel* get_outfit_editor_inventory_panel() + { + LLPanelOutfitEdit* panel_outfit_edit = dynamic_cast<LLPanelOutfitEdit*>(LLSideTray::getInstance()->getPanel("panel_outfit_edit")); + if (NULL == panel_outfit_edit) return NULL; + + LLInventoryPanel* inventory_panel = panel_outfit_edit->findChild<LLInventoryPanel>("folder_view"); + return inventory_panel; + } + + /** * Checks My Inventory visibility. */ static bool is_give_inventory_acceptable() { LLInventoryPanel* active_panel = LLInventoryPanel::getActiveInventoryPanel(FALSE); - if (NULL == active_panel) return false; + if (!active_panel) + { + active_panel = get_outfit_editor_inventory_panel(); + if (!active_panel) return false; + } // check selection in the panel const uuid_set_t inventory_selected_uuids = active_panel->getRootFolder()->getSelectionList(); @@ -613,9 +630,10 @@ namespace action_give_inventory llassert(avatar_names.size() == avatar_uuids.size()); LLInventoryPanel* active_panel = LLInventoryPanel::getActiveInventoryPanel(FALSE); - if (NULL == active_panel) + if (!active_panel) { - return; + active_panel = get_outfit_editor_inventory_panel(); + if (!active_panel) return; } const uuid_set_t inventory_selected_uuids = active_panel->getRootFolder()->getSelectionList(); |