diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index 3531c2cf50..01e82a0c9e 100755 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -271,6 +271,13 @@ LLLayoutStack::LLLayoutStack(const LLLayoutStack::Params& p) LLLayoutStack::~LLLayoutStack() { + // Record new size for this panel + if (mSaveSizes) + { + LLControlGroup::getInstance("Global")->setLLSD(mSizeControlName, mSavedSizes); + } + // + e_panel_list_t panels = mPanels; // copy list of panel pointers mPanels.clear(); // clear so that removeChild() calls don't cause trouble std::for_each(panels.begin(), panels.end(), DeletePointer()); @@ -484,7 +491,9 @@ void LLLayoutStack::updateLayout() F32 cur_pos = (mOrientation == HORIZONTAL) ? 0.f : (F32)getRect().getHeight(); - S32 index=0; + // Record new size for this panel + mSavedSizes = LLSD(); + // BOOST_FOREACH(LLLayoutPanel* panelp, mPanels) { F32 panel_dim = llmax(panelp->getExpandedMinDim(), panelp->mTargetDim); @@ -562,19 +571,11 @@ void LLLayoutStack::updateLayout() // Record new size for this panel if (mSaveSizes) { - mSavedSizes[index] = panelp->mTargetDim; - index++; + mSavedSizes.append(panelp->mTargetDim); } // } - // Save new sizes for this layout stack's panels - if (mSaveSizes) - { - LLControlGroup::getInstance("Global")->setLLSD(mSizeControlName, mSavedSizes); - } - // - updateResizeBarLimits(); // clear animation flag at end, since panel resizes will set it diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 8342c6142e..47da1e39a8 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -226,6 +226,7 @@ #include "llfloatersearch.h" #include "llfloatersidepanelcontainer.h" #include "llnotificationmanager.h" +#include "lltoolbarview.h" #include "NACLantispam.h" #include "rlvhandler.h" #include "streamtitledisplay.h" @@ -1282,6 +1283,15 @@ bool idle_startup() // Overwrite default user settings with user settings LLAppViewer::instance()->loadSettingsFromDirectory("Account"); + LLLayoutStack* chat_bar_stack = gToolBarView->findChild("chat_bar_stack"); + if (chat_bar_stack) + { + LLSD persisted_sizes = //gSavedPerAccountSettings.getLLSD("layout_size_chat_bar_stack"); + gSavedSettings.getLLSD("layout_size_chat_bar_stack"); + + LL_INFOS() << "ADBG: size = " << persisted_sizes.size() << LL_ENDL; + } + // Convert 'LogInstantMessages' into 'KeepConversationLogTranscripts' for backward compatibility (CHUI-743). // FIRE-11410 - Don't do this, handle it in settings restore and first run //LLControlVariablePtr logInstantMessagesControl = gSavedPerAccountSettings.getControl("LogInstantMessages");