summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llpanellandmarkinfo.cpp7
-rw-r--r--indra/newview/llpanelplaces.cpp16
-rw-r--r--indra/newview/llpanelplaces.h2
-rw-r--r--indra/newview/llviewermessage.cpp1
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)