summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Guslisty <pguslisty@productengine.com>2010-06-30 19:38:33 +0300
committerPaul Guslisty <pguslisty@productengine.com>2010-06-30 19:38:33 +0300
commit7b5e359f55e64c06f9a019999b72b9d027526c73 (patch)
tree1bd185732346fc81eb6dc04227cf050a94f8654c
parent323c5abef6dda7805daff455b3f467c5b762017e (diff)
EXT-8011 FIXED Location input should be disabled after disconnect
- Implemented LLDestroyClass::destroyClass() in LLPanelTopInfoBar and in LLNavigationBar to disable navigation and paneltopinfobar afer disconnection forced Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/659/ --HG-- branch : product-engine
-rw-r--r--indra/newview/llnavigationbar.h11
-rw-r--r--indra/newview/llpaneltopinfobar.h15
2 files changed, 24 insertions, 2 deletions
diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h
index b512f2a79c..03f17af09b 100644
--- a/indra/newview/llnavigationbar.h
+++ b/indra/newview/llnavigationbar.h
@@ -87,9 +87,10 @@ protected:
* Web browser-like navigation bar.
*/
class LLNavigationBar
- : public LLPanel, public LLSingleton<LLNavigationBar>
+ : public LLPanel, public LLSingleton<LLNavigationBar>, private LLDestroyClass<LLNavigationBar>
{
LOG_CLASS(LLNavigationBar);
+ friend class LLDestroyClass<LLNavigationBar>;
public:
LLNavigationBar();
@@ -136,6 +137,14 @@ private:
void fillSearchComboBox();
+ static void destroyClass()
+ {
+ if (LLNavigationBar::instanceExists())
+ {
+ LLNavigationBar::getInstance()->setEnabled(FALSE);
+ }
+ }
+
LLMenuGL* mTeleportHistoryMenu;
LLPullButton* mBtnBack;
LLPullButton* mBtnForward;
diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h
index e417a06a64..6e6fbc08ab 100644
--- a/indra/newview/llpaneltopinfobar.h
+++ b/indra/newview/llpaneltopinfobar.h
@@ -40,10 +40,12 @@ class LLTextBox;
class LLIconCtrl;
class LLParcelChangeObserver;
-class LLPanelTopInfoBar : public LLPanel, public LLSingleton<LLPanelTopInfoBar>
+class LLPanelTopInfoBar : public LLPanel, public LLSingleton<LLPanelTopInfoBar>, private LLDestroyClass<LLPanelTopInfoBar>
{
LOG_CLASS(LLPanelTopInfoBar);
+ friend class LLDestroyClass<LLPanelTopInfoBar>;
+
public:
LLPanelTopInfoBar();
~LLPanelTopInfoBar();
@@ -145,6 +147,17 @@ private:
*/
void setParcelInfoText(const std::string& new_text);
+ /**
+ * Implementation of LLDestroyClass<LLSideTray>
+ */
+ static void destroyClass()
+ {
+ if (LLPanelTopInfoBar::instanceExists())
+ {
+ LLPanelTopInfoBar::getInstance()->setEnabled(FALSE);
+ }
+ }
+
LLButton* mInfoBtn;
LLTextBox* mParcelInfoText;
LLTextBox* mDamageText;