diff options
author | Dmitry Zaporozhan <dzaporozhan@productengine.com> | 2010-01-19 18:03:25 +0200 |
---|---|---|
committer | Dmitry Zaporozhan <dzaporozhan@productengine.com> | 2010-01-19 18:03:25 +0200 |
commit | f53f65cc1a90673af0b7dde970c175ed9acd60fc (patch) | |
tree | ef1ca4ce7a1992345e147dbd009df2ed2c87c413 /indra | |
parent | 6fac1bf369f6f0fecd5724f8cff801d3b755cda0 (diff) |
Update for normal bug EXT-3749 - Clicking landmark attachment on Group notices doesn't open side panel.
--HG--
branch : product-engine
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llpanellandmarkinfo.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llpanelplaces.cpp | 16 | ||||
-rw-r--r-- | indra/newview/llpanelplaces.h | 2 | ||||
-rw-r--r-- | indra/newview/llviewermessage.cpp | 1 |
4 files changed, 26 insertions, 0 deletions
diff --git a/indra/newview/llpanellandmarkinfo.cpp b/indra/newview/llpanellandmarkinfo.cpp index 597b8bdb2d..9654e17659 100644 --- a/indra/newview/llpanellandmarkinfo.cpp +++ b/indra/newview/llpanellandmarkinfo.cpp @@ -185,6 +185,13 @@ void LLPanelLandmarkInfo::processParcelInfo(const LLParcelData& parcel_data) region_z = llround(mPosRegion.mV[VZ]); } + LLSD info; + info["update_verbs"] = true; + info["global_x"] = parcel_data.global_x; + info["global_y"] = parcel_data.global_y; + info["global_z"] = parcel_data.global_z; + notifyParent(info); + if (mInfoType == CREATE_LANDMARK) { if (parcel_data.name.empty()) diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 59b12c7096..a71c8d8958 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -449,6 +449,22 @@ void LLPanelPlaces::setItem(LLInventoryItem* item) } } +S32 LLPanelPlaces::notifyParent(const LLSD& info) +{ + if(info.has("update_verbs")) + { + if(mPosGlobal.isExactlyZero()) + { + mPosGlobal.setVec(info["global_x"], info["global_y"], info["global_z"]); + } + + updateVerbs(); + + return 1; + } + return LLPanel::notifyParent(info); +} + void LLPanelPlaces::onLandmarkLoaded(LLLandmark* landmark) { if (!mLandmarkInfo) diff --git a/indra/newview/llpanelplaces.h b/indra/newview/llpanelplaces.h index b134cf0cba..27b5911ebb 100644 --- a/indra/newview/llpanelplaces.h +++ b/indra/newview/llpanelplaces.h @@ -75,6 +75,8 @@ public: std::string getPlaceInfoType() { return mPlaceInfoType; } + /*virtual*/ S32 notifyParent(const LLSD& info); + 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 8372711cd1..6061d23477 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -961,6 +961,7 @@ void open_inventory_offer(const std::vector<LLUUID>& items, const std::string& f const BOOL auto_open = gSavedSettings.getBOOL("ShowInInventory") && (asset_type != LLAssetType::AT_CALLINGCARD) && (item->getInventoryType() != LLInventoryType::IT_ATTACHMENT) && + (asset_type != LLAssetType::AT_LANDMARK) && !from_name.empty(); LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(auto_open); if(active_panel) |