From ce27987c872cdaf2ec781644bc2ceb1a336a0a25 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Mon, 12 May 2014 16:25:48 -0400 Subject: STORM-2030 Rapidly clicking the refresh button in selected floaters may result in duplicate entries --- indra/newview/llfloatertopobjects.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'indra/newview/llfloatertopobjects.cpp') diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index 7530c72dd2..3a167cfc77 100755 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -50,6 +50,7 @@ #include "llviewerregion.h" #include "lluictrlfactory.h" #include "llviewerwindow.h" +#include "llfloaterregioninfo.h" //LLFloaterTopObjects* LLFloaterTopObjects::sInstance = NULL; @@ -268,6 +269,13 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) format.setArg("[COUNT]", llformat("%d", total_count)); getChild("title_text")->setValue(LLSD(format)); } + + LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance("region_info"); + if(region_info_floater) + { + region_info_floater->enableTopButtons(); + } + getChildView("refresh_btn")->setEnabled(true); } void LLFloaterTopObjects::onCommitObjectsList() @@ -453,12 +461,24 @@ void LLFloaterTopObjects::onRefresh() msg->addStringFast(_PREHASH_Filter, filter); msg->addS32Fast(_PREHASH_ParcelLocalID, 0); + LLFloaterRegionInfo* region_info_floater = LLFloaterReg::getTypedInstance("region_info"); + if(region_info_floater) + { + region_info_floater->disableTopButtons(); + } + disableRefreshBtn(); + msg->sendReliable(gAgent.getRegionHost()); mFilter.clear(); mFlags = 0; } +void LLFloaterTopObjects::disableRefreshBtn() +{ + getChildView("refresh_btn")->setEnabled(false); +} + void LLFloaterTopObjects::onGetByObjectName() { mFlags = STAT_FILTER_BY_OBJECT; -- cgit v1.2.3