diff options
Diffstat (limited to 'indra/newview/llfloaterregioninfo.cpp')
-rw-r--r-- | indra/newview/llfloaterregioninfo.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 4babff69c2..da90108186 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -276,11 +276,6 @@ void LLFloaterRegionInfo::onOpen(const LLSD& key) requestRegionInfo(); requestMeshRezInfo(); - LLPanelEstateAccess* panel_access = LLFloaterRegionInfo::getPanelAccess(); - if (panel_access) - { - panel_access->updateLists(); - } } // static @@ -713,6 +708,11 @@ void LLPanelRegionInfo::disableButton(const std::string& btn_name) void LLPanelRegionInfo::initCtrl(const std::string& name) { getChild<LLUICtrl>(name)->setCommitCallback(boost::bind(&LLPanelRegionInfo::onChangeAnything, this)); + + if (!mGodLevelChangeSlot.connected()) + { + mGodLevelChangeSlot = gAgent.registerGodLevelChanageListener(boost::bind(&LLPanelRegionInfo::onGodLevelChange, this, _1)); + } } void LLPanelRegionInfo::onClickManageTelehub() @@ -721,6 +721,11 @@ void LLPanelRegionInfo::onClickManageTelehub() LLFloaterReg::showInstance("telehubs"); } +void LLPanelRegionInfo::onGodLevelChange(U8 god_level) +{ + refreshFromRegion(gAgent.getRegion()); +} + ///////////////////////////////////////////////////////////////////////////// // LLPanelRegionGeneralInfo // @@ -4109,3 +4114,9 @@ void LLPanelEstateAccess::searchAgent(LLNameListCtrl* listCtrl, const std::strin } } +bool LLPanelEstateAccess::refreshFromRegion(LLViewerRegion* region) +{ + updateLists(); + return true; +} + |