From f1d834c50d7155102a6482e1c4e4205ddca65be2 Mon Sep 17 00:00:00 2001 From: Yuri Chebotarev Date: Tue, 3 Nov 2009 17:31:26 +0200 Subject: fix for normal task EXT-239 Save chat window state and position between sessions --HG-- branch : product-engine --- indra/llui/llfloater.cpp | 6 ++++++ indra/llui/llfloater.h | 3 +++ indra/llui/llfloaterreg.cpp | 3 +-- 3 files changed, 10 insertions(+), 2 deletions(-) (limited to 'indra/llui') diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 8c72b079ee..99aebbcb30 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -772,6 +772,12 @@ LLMultiFloater* LLFloater::getHost() return (LLMultiFloater*)mHostHandle.get(); } +void LLFloater::applySavedVariables() +{ + applyRectControl(); + applyDockState(); +} + void LLFloater::applyRectControl() { if (mRectControl.size() > 1) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index ef0d06a58e..95c8dd84f6 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -280,6 +280,9 @@ public: protected: void setRectControl(const std::string& rectname) { mRectControl = rectname; }; + + virtual void applySavedVariables(); + void applyRectControl(); void applyDockState(); void storeRectControl(); diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp index aca4dc56ee..f8e07913fb 100644 --- a/indra/llui/llfloaterreg.cpp +++ b/indra/llui/llfloaterreg.cpp @@ -134,8 +134,7 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key) // Note: key should eventually be a non optional LLFloater arg; for now, set mKey to be safe res->mKey = key; res->setInstanceName(name); - res->applyRectControl(); // Can't apply rect control until setting instance name - res->applyDockState();//same... + res->applySavedVariables(); // Can't apply rect and dock state until setting instance name if (res->mAutoTile && !res->getHost() && index > 0) { const LLRect& cur_rect = res->getRect(); -- cgit v1.2.3