diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 9be9a34253..5426da7b02 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -947,6 +947,19 @@ bool LLFloater::applyRectControl() LLFloater* last_in_group = LLFloaterReg::getLastFloaterInGroup(mInstanceName); if (last_in_group && last_in_group != this) { + // Open other floaters in group in the stored size (this + // is basically taken from the else-branch below) + if (!mRectControl.empty()) + { + // If we have a saved rect, use it + const LLRect& rect = getControlGroup()->getRect(mRectControl); + if (rect.notEmpty() && mResizable) + { + reshape(llmax(mMinWidth, rect.getWidth()), llmax(mMinHeight, rect.getHeight())); + } + } + // + // other floaters in our group, position ourselves relative to them and don't save the rect mRectControl.clear(); mPositioning = LLFloaterEnums::POSITIONING_CASCADE_GROUP;