From 856f060d0abaabe55c3f53adf5c05ffd57a5de3a Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 12 Aug 2016 13:04:50 +0200 Subject: [PATCH] FIRE-19799: Place details window keeps 'Loading...' estate information --- indra/newview/fsfloaterplacedetails.cpp | 22 ++++++++++++++++++++++ indra/newview/fsfloaterplacedetails.h | 4 ++++ indra/newview/llviewermessage.cpp | 17 +++++++++++++++++ 3 files changed, 43 insertions(+) diff --git a/indra/newview/fsfloaterplacedetails.cpp b/indra/newview/fsfloaterplacedetails.cpp index 0cd83e9bec..8ca6081b39 100644 --- a/indra/newview/fsfloaterplacedetails.cpp +++ b/indra/newview/fsfloaterplacedetails.cpp @@ -916,4 +916,26 @@ void FSFloaterPlaceDetails::changedParcelSelection() updateVerbs(); } +void FSFloaterPlaceDetails::updateEstateName(const std::string& name) +{ + if (mPanelPlaceInfo) + { + mPanelPlaceInfo->updateEstateName(name); + } +} +void FSFloaterPlaceDetails::updateEstateOwnerName(const std::string& name) +{ + if (mPanelPlaceInfo) + { + mPanelPlaceInfo->updateEstateOwnerName(name); + } +} + +void FSFloaterPlaceDetails::updateCovenantText(const std::string &text) +{ + if (mPanelPlaceInfo) + { + mPanelPlaceInfo->updateCovenantText(text); + } +} diff --git a/indra/newview/fsfloaterplacedetails.h b/indra/newview/fsfloaterplacedetails.h index 3cb4c85594..d25eeae55c 100644 --- a/indra/newview/fsfloaterplacedetails.h +++ b/indra/newview/fsfloaterplacedetails.h @@ -65,6 +65,10 @@ public: static void showPlaceDetails(const LLSD& key); + void updateEstateName(const std::string& name); + void updateEstateOwnerName(const std::string& name); + void updateCovenantText(const std::string &text); + private: enum ePlaceDisplayInfo { diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 8c2f16f9ae..071cc96f81 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -9598,6 +9598,15 @@ void process_covenant_reply(LLMessageSystem* msg, void**) panel->updateEstateOwnerName(owner_name); } + // Standalone location profile floater + FSFloaterPlaceDetails* fs_floater = LLFloaterReg::findTypedInstance("fs_placedetails", LLSD().with("type", "agent")); + if (fs_floater) + { + fs_floater->updateEstateName(estate_name); + fs_floater->updateEstateOwnerName(owner_name); + } + // + // standard message, not from system std::string last_modified; if (covenant_timestamp == 0) @@ -9728,6 +9737,14 @@ void onCovenantLoadComplete(LLVFS *vfs, { panel->updateCovenantText(covenant_text); } + + // Standalone location profile floater + FSFloaterPlaceDetails* fs_floater = LLFloaterReg::findTypedInstance("fs_placedetails", LLSD().with("type", "agent")); + if (fs_floater) + { + fs_floater->updateCovenantText(covenant_text); + } + // }