diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 9c4bf0a5c2a066f240d1ae36e155eb5a1cd7f80f..84754d9c4d44077e47fb5cce130fa5befc4ca7c6 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -885,7 +885,6 @@ bool LLFloater::applyRectControl() mPositioning = LLFloaterEnums::POSITIONING_RELATIVE; LLRect screen_rect = calcScreenRect(); mPosition = LLCoordGL(screen_rect.getCenterX(), screen_rect.getCenterY()).convert(); - storeRectControl(); } LLControlVariablePtr x_control = getControlGroup()->getControl(mPosXControl); @@ -904,6 +903,13 @@ bool LLFloater::applyRectControl() } } + if (saved_rect) + { + // propagate any derived positioning data back to settings file + storeRectControl(); + } + + return saved_rect; }