diff options
| author | Rolf Theunissen | 2021-04-08 18:18:59 +0000 |
|---|---|---|
| committer | Rolf Theunissen | 2021-04-11 13:59:32 +0000 |
| commit | 6168347458f5271abfb65f82d6d1d0a714fbdfa6 (patch) | |
| tree | 382b5606358d1dae5aa9cdbe473ac09cf77a8258 | |
| parent | db208202035bbf7eeaf5f0b0f370c85a2bacfc9f (diff) | |
| download | eclipse.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.java | 6 |
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; |
