summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorprep <prep@lindenlab.com>2013-06-03 16:10:46 -0400
committerprep <prep@lindenlab.com>2013-06-03 16:10:46 -0400
commitc81b685b4217b3c321815e1993d39fb0b479a767 (patch)
tree5faba0482e6b9b8c74f9ebda861b294779e33e9b /indra/newview
parent7f2cf1fa9cf7c09af8eeab3aa077eb0a9922d631 (diff)
Fix for sh-4221 Sometimes ctrl+q needed to be hit twice
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/llfloatersidepanelcontainer.cpp15
-rwxr-xr-xindra/newview/llfloatersidepanelcontainer.h2
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