diff options
Diffstat (limited to 'bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java')
-rw-r--r-- | bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java index d5132ae8778..108b868c86d 100644 --- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java @@ -746,6 +746,7 @@ public class WBWRenderer extends SWTPartRenderer { shell.setMinimized(true); shell.layout(true); + forceLayout(shell); if (shellME.isVisible()) { shell.open(); } else { @@ -892,4 +893,16 @@ public class WBWRenderer extends SWTPartRenderer { } } } + + private static void forceLayout(Shell shell) { + int i = 0; + while(shell.isLayoutDeferred()) { + shell.setLayoutDeferred(false); + i++; + } + while(i > 0) { + shell.setLayoutDeferred(true); + i--; + } + } } |