Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRolf Theunissen2021-04-08 18:18:59 +0000
committerRolf Theunissen2021-04-11 13:59:32 +0000
commit6168347458f5271abfb65f82d6d1d0a714fbdfa6 (patch)
tree382b5606358d1dae5aa9cdbe473ac09cf77a8258
parentdb208202035bbf7eeaf5f0b0f370c85a2bacfc9f (diff)
downloadeclipse.platform.ui-6168347458f5271abfb65f82d6d1d0a714fbdfa6.tar.gz
eclipse.platform.ui-6168347458f5271abfb65f82d6d1d0a714fbdfa6.tar.xz
eclipse.platform.ui-6168347458f5271abfb65f82d6d1d0a714fbdfa6.zip
Bug 572711 - Use requestlayout in LazyStackRenderer
In LazyStackRenderer.showElementRecursive shared elements are re-parented to a new parent composite in a CTabFolder. A comment indicated that calling layout is too expensive, instead setSize was called. This commit switches this to calling requestlayout that should be even less expensive. The effect is visible when switching perspectives. Change-Id: Ic52c8e13ced5bbdf527cbecc2f594381cced5bcd Signed-off-by: Rolf Theunissen <rolf.theunissen@gmail.com>
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java6
1 files changed, 1 insertions, 5 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
index fd935c8e4f5..70ae7a7abd3 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
@@ -291,13 +291,9 @@ public abstract class LazyStackRenderer extends SWTPartRenderer {
Composite phComp = (Composite) ph.getWidget();
Control refCtrl = (Control) ph.getRef().getWidget();
- // If the parent changes we need to adjust the bounds of the child
- // we do not call layout() because this could lead to
- // a big amount of layout calls in unrelated places e.g. none
- // visible children of a CTabFolder (see 460745)
if (refCtrl != null && refCtrl.getParent() != phComp) {
refCtrl.setParent(phComp);
- refCtrl.setSize(phComp.getSize());
+ refCtrl.requestLayout();
}
element = ref;

Back to the top