diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse')
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java index ad76bd0c99..b0775dc8bc 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java @@ -883,6 +883,9 @@ public void setBackgroundMode (int mode) { } void setBounds (int x, int y, int width, int height, int flags, boolean defer) { + if (display.resizeCount > Display.RESIZE_LIMIT) { + defer = false; + } if (!defer && (state & CANVAS) != 0) { state &= ~RESIZE_OCCURRED | MOVE_OCCURRED; state |= RESIZE_DEFERRED | MOVE_DEFERRED; @@ -1009,11 +1012,12 @@ void setResizeChildren (boolean resize) { if (resize) { resizeChildren (); } else { - if (display.resizeCount < Display.RESIZE_LIMIT) { - int count = getChildrenCount (); - if (count > 1 && lpwp == null) { - lpwp = new WINDOWPOS [count]; - } + if (display.resizeCount > Display.RESIZE_LIMIT) { + return; + } + int count = getChildrenCount (); + if (count > 1 && lpwp == null) { + lpwp = new WINDOWPOS [count]; } } } |