ext-7106 FIX Always prevent tab switching while processing tab switch request

reviwed by Mike Antipov at https://codereview.productengine.com/secondlife/r/402/

--HG--
branch : product-engine
meow-7.2.2
Yuri Chebotarev 2010-05-18 17:59:15 +03:00
parent d3cfb6ca36
commit bf0a0de466
1 changed files with 7 additions and 16 deletions

View File

@ -199,16 +199,13 @@ bool LLPanelGroupRoles::handleSubTabSwitch(const LLSD& data)
{
std::string panel_name = data.asString();
LLPanelGroupTab* activating_tab = static_cast<LLPanelGroupTab*>(mSubTabContainer->getPanelByName(panel_name));
if(activating_tab == mCurrentTab
|| activating_tab == mRequestedTab)
if(mRequestedTab != NULL)//we already have tab change request
{
return true;
return false;
}
mRequestedTab = activating_tab;
mRequestedTab = static_cast<LLPanelGroupTab*>(mSubTabContainer->getPanelByName(panel_name));
std::string mesg;
if (mCurrentTab && mCurrentTab->needsApply(mesg))
{
@ -229,15 +226,9 @@ bool LLPanelGroupRoles::handleSubTabSwitch(const LLSD& data)
// we get a response back from the user.
return false;
}
else
{
// The current panel didn't have anything it needed to apply.
if (mRequestedTab)
{
transitionToTab();
}
return true;
}
transitionToTab();
return true;
}
void LLPanelGroupRoles::transitionToTab()