diff options
author | prep <prep@lindenlab.com> | 2013-06-03 16:10:46 -0400 |
---|---|---|
committer | prep <prep@lindenlab.com> | 2013-06-03 16:10:46 -0400 |
commit | c81b685b4217b3c321815e1993d39fb0b479a767 (patch) | |
tree | 5faba0482e6b9b8c74f9ebda861b294779e33e9b /indra/newview | |
parent | 7f2cf1fa9cf7c09af8eeab3aa077eb0a9922d631 (diff) |
Fix for sh-4221 Sometimes ctrl+q needed to be hit twice
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/llfloatersidepanelcontainer.cpp | 15 | ||||
-rwxr-xr-x | indra/newview/llfloatersidepanelcontainer.h | 2 |
2 files changed, 12 insertions, 5 deletions
diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index 13a9ba1695..02216420da 100755 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -40,7 +40,8 @@ const std::string LLFloaterSidePanelContainer::sMainPanelName("main_panel"); LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params) -: LLFloater(key, params) +: LLFloater(key, params) +, mAppQuiting( false ) { // Prevent transient floaters (e.g. IM windows) from hiding // when this floater is clicked. @@ -56,7 +57,8 @@ BOOL LLFloaterSidePanelContainer::postBuild() } void LLFloaterSidePanelContainer::onConfirmationClose( const LLSD &confirm ) -{ +{ + mAppQuiting = confirm.asBoolean(); onClickCloseBtn(); } @@ -69,10 +71,12 @@ LLFloaterSidePanelContainer::~LLFloaterSidePanelContainer() void LLFloaterSidePanelContainer::onOpen(const LLSD& key) { getChild<LLPanel>(sMainPanelName)->onOpen(key); + mAppQuiting = false; } -void LLFloaterSidePanelContainer::onClose(bool app_quitting) -{ - mForceCloseAfterVerify = true; + +void LLFloaterSidePanelContainer::onClose( bool app_quitting ) +{ + if (! mAppQuiting ) { mForceCloseAfterVerify = true; } LLSidepanelAppearance* panel = getSidePanelAppearance(); if ( panel ) { @@ -80,6 +84,7 @@ void LLFloaterSidePanelContainer::onClose(bool app_quitting) panel->onCloseFromAppearance( this ); } } + void LLFloaterSidePanelContainer::onClickCloseBtn() { LLSidepanelAppearance* panel = getSidePanelAppearance(); diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index dc85570f7e..f543cfd5c4 100755 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -89,6 +89,8 @@ public: private: LLSidepanelAppearance* getSidePanelAppearance(); +private: + bool mAppQuiting; }; #endif // LL_LLFLOATERSIDEPANELCONTAINER_H |