Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormwenz2016-09-26 07:14:31 +0000
committermwenz2016-09-26 07:14:31 +0000
commit012d633cc17097875ab7bc02801d2dad84e0f187 (patch)
tree25728e09cca95cea19460cc9d42e8e110671ab58
parentccba2118ffd641c4b43a4234ed02c6a1ebe3a492 (diff)
downloadorg.eclipse.graphiti-012d633cc17097875ab7bc02801d2dad84e0f187.tar.gz
org.eclipse.graphiti-012d633cc17097875ab7bc02801d2dad84e0f187.tar.xz
org.eclipse.graphiti-012d633cc17097875ab7bc02801d2dad84e0f187.zip
Bug 502091 - NPE in GFDirectEditManager.bringDown
-rw-r--r--plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/editor/ThumbNailView.java11
-rw-r--r--plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java26
2 files changed, 22 insertions, 15 deletions
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/editor/ThumbNailView.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/editor/ThumbNailView.java
index d784ac31..d3deca62 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/editor/ThumbNailView.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/editor/ThumbNailView.java
@@ -1,7 +1,7 @@
/*******************************************************************************
* <copyright>
*
- * Copyright (c) 2005, 2010 SAP AG.
+ * Copyright (c) 2005, 2016 SAP AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
*
* Contributors:
* SAP AG - initial API, implementation and documentation
+ * mwenz - Bug 502091 - NPE in GFDirectEditManager.bringDown
*
* </copyright>
*
@@ -79,9 +80,11 @@ public class ThumbNailView extends ViewPart implements IPartListener {
@Override
public void dispose() {
IWorkbenchWindow workbenchWindow = GraphitiUiInternal.getWorkbenchService().getActiveOrFirstWorkbenchWindow();
- workbenchWindow.getPartService().removePartListener(this);
- super.dispose();
- clearThumbnail();
+ if (workbenchWindow != null) {
+ workbenchWindow.getPartService().removePartListener(this);
+ super.dispose();
+ clearThumbnail();
+ }
}
public void partActivated(IWorkbenchPart part) {
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java
index c83bd632..27b86bf2 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java
@@ -1,7 +1,7 @@
/*******************************************************************************
* <copyright>
*
- * Copyright (c) 2005, 2011 SAP AG.
+ * Copyright (c) 2005, 2016 SAP AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,6 +12,7 @@
* Ali Akar, mwenz - Bug 348420 - Opening a user contributed editor
* Bug 336488 - DiagramEditor API
* pjpaulin - Bug 352120 - Now uses IDiagramContainerUI interface
+ * mwenz - Bug 502091 - NPE in GFDirectEditManager.bringDown
*
* </copyright>
*
@@ -48,16 +49,19 @@ import org.eclipse.ui.part.EditorActionBarContributor;
public class WorkbenchService implements IWorkbenchService {
public IStatusLineManager getActiveStatusLineManager() {
- final IWorkbenchPart activePart = getActiveOrFirstWorkbenchWindow().getActivePage().getActivePart();
- if (activePart instanceof IViewPart) {
- final IViewPart viewPart = (IViewPart) activePart;
- return viewPart.getViewSite().getActionBars().getStatusLineManager();
- } else if (activePart instanceof IEditorPart) {
- final IEditorPart editorPart = (IEditorPart) activePart;
- final IEditorActionBarContributor contributor = editorPart.getEditorSite().getActionBarContributor();
- if (contributor instanceof EditorActionBarContributor) {
- final EditorActionBarContributor editorContributor = (EditorActionBarContributor) contributor;
- return editorContributor.getActionBars().getStatusLineManager();
+ IWorkbenchWindow activeWindow = getActiveOrFirstWorkbenchWindow();
+ if (activeWindow != null) {
+ IWorkbenchPart activePart = activeWindow.getActivePage().getActivePart();
+ if (activePart instanceof IViewPart) {
+ IViewPart viewPart = (IViewPart) activePart;
+ return viewPart.getViewSite().getActionBars().getStatusLineManager();
+ } else if (activePart instanceof IEditorPart) {
+ IEditorPart editorPart = (IEditorPart) activePart;
+ IEditorActionBarContributor contributor = editorPart.getEditorSite().getActionBarContributor();
+ if (contributor instanceof EditorActionBarContributor) {
+ EditorActionBarContributor editorContributor = (EditorActionBarContributor) contributor;
+ return editorContributor.getActionBars().getStatusLineManager();
+ }
}
}
// this is a useless dummy but avoids nasty null pointer checks when

Back to the top