From bcb054970ce83fc613e1b6d163b3440457ca94d4 Mon Sep 17 00:00:00 2001 From: Dmitry Zaporozhan Date: Tue, 12 Jan 2010 12:38:03 +0200 Subject: Update for normal bug EXT-3520 - Can't open Group Notices or Attachments. --HG-- branch : product-engine --- indra/newview/llpanelplaces.h | 4 ++++ indra/newview/llviewermessage.cpp | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelplaces.h b/indra/newview/llpanelplaces.h index 5ee8704992..b134cf0cba 100644 --- a/indra/newview/llpanelplaces.h +++ b/indra/newview/llpanelplaces.h @@ -71,6 +71,10 @@ public: void setItem(LLInventoryItem* item); + LLInventoryItem* getItem() { return mItem; } + + std::string getPlaceInfoType() { return mPlaceInfoType; } + private: void onLandmarkLoaded(LLLandmark* landmark); void onFilterEdit(const std::string& search_string, bool force_filter); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 8d7718c5dc..2e4e1cf114 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -904,7 +904,19 @@ void open_inventory_offer(const std::vector& items, const std::string& f LLPanelPlaces *places_panel = dynamic_cast(LLSideTray::getInstance()->showPanel("panel_places", LLSD())); if (places_panel) { - places_panel->setItem(item); + // we are creating a landmark + if("create_landmark" == places_panel->getPlaceInfoType() && !places_panel->getItem()) + { + places_panel->setItem(item); + } + // we are opening a group notice attachment + else + { + LLSD args; + args["type"] = "landmark"; + args["id"] = item_id; + LLSideTray::getInstance()->showPanel("panel_places", args); + } } } } -- cgit v1.2.3