diff options
| author | Simeon Andreev | 2017-12-14 14:51:27 +0000 |
|---|---|---|
| committer | Simeon Andreev | 2017-12-14 15:02:32 +0000 |
| commit | f04cfac91455c1a1d708851c5b29861ddfb54625 (patch) | |
| tree | 9834298978f29ce432a733d5585b9210f703554a | |
| parent | 03aaf5d2ff623dec5f790a09d9538a6ce2b1ac85 (diff) | |
| download | eclipse.platform.ui-f04cfac91455c1a1d708851c5b29861ddfb54625.tar.gz eclipse.platform.ui-f04cfac91455c1a1d708851c5b29861ddfb54625.tar.xz eclipse.platform.ui-f04cfac91455c1a1d708851c5b29861ddfb54625.zip | |
Bug 528720 - View toolbar painted over view when switching from editorI20171215-0215I20171215-0120I20171214-2000
When an editor tab and a view tab are in the same part stack, switching
from the editor to the view can result in a toolbar painting artifact.
Namely, the view toolbar is painted over the view client area. This can
be observed if the part stack tab area is not long enough to hold the
view toolbar.
This is the case, since the toolbar is drawn within the view area, on
top of the view. The view does not receive a layout update notification,
due to switching from the editor. When switching from another view,
StackRenderer.adjustTopRight will hide the toolbar of the view. This
results in a layout update of the newly opened view. Since the editor
has no toolbar, nothing is hidden and no layout update is queued.
This change improves on the fix for Bug 461573. Instead of triggering a
direct layout update, we request one later on. This later on includes
the adjustment of the toolbar location, resulting in a correctly sized
view. The view toolbar is then no longer painted over the view.
Change-Id: If23c1ed2ab1fe8edc052d647dd89ebed1ed00a0a
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
| -rw-r--r-- | bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java index 2f5f56f8080..209cdd3dc11 100644 --- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java +++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java @@ -1298,9 +1298,9 @@ public class StackRenderer extends LazyStackRenderer implements IPreferenceChang // Ensure that the newly selected control is correctly sized if (tabItem.getControl() instanceof Composite) { Composite ctiComp = (Composite) tabItem.getControl(); - // see bug 461573: call below is still needed to make view + // see bug 461573, 528720: call below is still needed to make view // descriptions visible after unhiding the view with changed bounds - ctiComp.layout(false, true); + ctiComp.requestLayout(); } tabFolder.setSelection(tabItem); ignoreTabSelChanges = false; |
