Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Redor2015-02-23 11:13:52 +0000
committerLaurent Redor2015-02-23 11:13:52 +0000
commit9393d3b43397b3946b81ae3c75d30e48afeaf82d (patch)
tree4122d006a5e772f2471b000d3227d9ec3ad23045
parent205903dd5d791e5d134faded6c762ad06b32614a (diff)
downloadorg.eclipse.sirius-9393d3b43397b3946b81ae3c75d30e48afeaf82d.tar.gz
org.eclipse.sirius-9393d3b43397b3946b81ae3c75d30e48afeaf82d.tar.xz
org.eclipse.sirius-9393d3b43397b3946b81ae3c75d30e48afeaf82d.zip
[460432] Fix problem of dispose for tabbar
This dispose must be called in UI thread. Bug: 460432 Change-Id: Iafc9a03679c0ad0acb788550c574254788de3078 Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java
index 5cc883dc12..19c502dde9 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java
@@ -734,7 +734,15 @@ public class DDiagramEditorImpl extends SiriusDiagramEditor implements DDiagramE
protected void disposeGraphicalListeners() {
// Dispose the tabbar (to avoir memory leak)
if (getTabbar() != null) {
- getTabbar().dispose();
+ if (Display.getCurrent() == null) {
+ PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
+ public void run() {
+ getTabbar().dispose();
+ }
+ });
+ } else {
+ getTabbar().dispose();
+ }
setTabbar(null);
}
// Dispose post-commit listener

Back to the top