diff options
author | ptessier | 2018-05-07 08:40:33 +0000 |
---|---|---|
committer | ptessier | 2018-05-07 08:40:33 +0000 |
commit | 98a8f0095777a8c8c65647178a6e61eb71ffa010 (patch) | |
tree | 4e0c6c51c305dbde111326c917751563e8a6bf64 | |
parent | 578fb333f206cda65807d98c5b991bb7a0f6fd56 (diff) | |
download | org.eclipse.papyrus-98a8f0095777a8c8c65647178a6e61eb71ffa010.tar.gz org.eclipse.papyrus-98a8f0095777a8c8c65647178a6e61eb71ffa010.tar.xz org.eclipse.papyrus-98a8f0095777a8c8c65647178a6e61eb71ffa010.zip |
Bug 528441 - [AFViewpoints][Palettes] Setting diagram prototype
programmatically does not refresh palettes of open diagrams
fix null pointer exception
Change-Id: If263da2d05976bf68a3285904da945d8d72d374e
-rw-r--r-- | plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/part/UmlGmfDiagramEditor.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/part/UmlGmfDiagramEditor.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/part/UmlGmfDiagramEditor.java index 44ab3acf8c9..929953e2550 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/part/UmlGmfDiagramEditor.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/part/UmlGmfDiagramEditor.java @@ -69,7 +69,7 @@ public class UmlGmfDiagramEditor extends SynchronizableGmfDiagramEditor implemen * of Papyrus editor. */ protected boolean viewerInitialized = false; - + /** * Listener to to the diagram kind */ @@ -99,10 +99,10 @@ public class UmlGmfDiagramEditor extends SynchronizableGmfDiagramEditor implemen ISaveAndDirtyService saveAndDirtyService = servicesRegistry.getService(ISaveAndDirtyService.class); saveAndDirtyService.registerIsaveablePart(this); viewerInitialized = false; - + // add a listener to the diagram kind id PapyrusDiagramStyle style = DiagramUtils.getPapyrusDiagramStyle(diagram); - style.eAdapters().add(diagramKindAdapter = new AdapterImpl() { + diagramKindAdapter = new AdapterImpl() { @Override public void notifyChanged(Notification msg) { @@ -110,8 +110,11 @@ public class UmlGmfDiagramEditor extends SynchronizableGmfDiagramEditor implemen getEditDomain().setPaletteRoot(createPaletteRoot(null)); getGraphicalViewer().setContents(getDiagram()); } - - }); + + }; + if(style!=null) { + style.eAdapters().add(diagramKindAdapter); + } } /** @@ -172,7 +175,9 @@ public class UmlGmfDiagramEditor extends SynchronizableGmfDiagramEditor implemen // remove the listener to the diagram kind id if (diagramKindAdapter != null) { PapyrusDiagramStyle style = DiagramUtils.getPapyrusDiagramStyle(getDiagram()); - style.eAdapters().remove(diagramKindAdapter); + if(style!=null) { + style.eAdapters().remove(diagramKindAdapter); + } diagramKindAdapter = null; } @@ -202,7 +207,7 @@ public class UmlGmfDiagramEditor extends SynchronizableGmfDiagramEditor implemen // the service can't be found. Maybe it is already disposed. // Do nothing } - + partNameSynchronizer = null; diagram = null; servicesRegistry = null; |