diff --git a/uppsrc/CtrlCore/TopWindow.cpp b/uppsrc/CtrlCore/TopWindow.cpp index e126a6266..1fd03048a 100644 --- a/uppsrc/CtrlCore/TopWindow.cpp +++ b/uppsrc/CtrlCore/TopWindow.cpp @@ -544,7 +544,6 @@ void SetLayout_Size(Ctrl& ctrl, Size sz) { sz = ctrl.AddFrameSize(sz); ctrl.SetMinSize(sz); - ctrl.SetRect(sz); } void SetLayout_Size(Ctrl& ctrl, int cx, int cy) diff --git a/uppsrc/CtrlCore/TopWindow.h b/uppsrc/CtrlCore/TopWindow.h index 25f98083a..f6bd780e9 100644 --- a/uppsrc/CtrlCore/TopWindow.h +++ b/uppsrc/CtrlCore/TopWindow.h @@ -204,7 +204,9 @@ void InitLayout(Ctrl& ctrl, L& layout) template void CtrlLayout(T& ctrl) { InitLayout(ctrl, ctrl, ctrl, ctrl); - SetLayout_Size(ctrl, T::GetLayoutSize()); + Size sz = T::GetLayoutSize(); + SetLayout_Size(ctrl, sz); + ctrl.SetRect(sz); } template diff --git a/uppsrc/CtrlCore/lay.h b/uppsrc/CtrlCore/lay.h index 371478543..15d739417 100644 --- a/uppsrc/CtrlCore/lay.h +++ b/uppsrc/CtrlCore/lay.h @@ -40,7 +40,7 @@ #undef END_LAYOUT #define LAYOUT(nm, x, y) template inline void SetLayout_##nm(T& ctrl, D& parent, bool add = false, bool show = false) { \ - SetLayout_Size(parent, Zx(x), Zy(y)); + SetLayout_Size(ctrl, Zx(x), Zy(y)); #define UNTYPED(var, param) parent.var.param; if(add) ctrl.Add(parent.var); if(show) parent.var.Show(); #define ITEM(clss, var, param) UNTYPED(var, param); #define END_LAYOUT }