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");