From 1c940fcc8ebf7bdbb626ead82065656f2fdd9322 Mon Sep 17 00:00:00 2001 From: dayllenger Date: Wed, 18 Oct 2017 11:15:58 +0300 Subject: [PATCH] optimize FrameLayout: do not layout when frame is invisible --- src/dlangui/widgets/layouts.d | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dlangui/widgets/layouts.d b/src/dlangui/widgets/layouts.d index 9d5b8f06..57c906a2 100644 --- a/src/dlangui/widgets/layouts.d +++ b/src/dlangui/widgets/layouts.d @@ -643,7 +643,7 @@ class FrameLayout : WidgetGroupDefaultDrawing { applyPadding(rc); for (int i = 0; i < _children.count; i++) { Widget item = _children.get(i); - if (item.visibility != Visibility.Gone) { + if (item.visibility == Visibility.Visible) { item.layout(rc); } } @@ -657,6 +657,7 @@ class FrameLayout : WidgetGroupDefaultDrawing { Widget item = _children.get(i); if (item.compareId(ID)) { item.visibility = Visibility.Visible; + item.requestLayout(); foundWidget = item; found = true; } else {