From 272fafc36bc87c8abcd0bd2dcba9127278936067 Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Tue, 31 May 2016 09:52:25 +0200 Subject: [PATCH] Add fallback to getView() if no active workbench is found #5758 --- .../taxeditor/model/AbstractUtility.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java index e700d2e35..fdaa3e0c4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java @@ -50,6 +50,7 @@ import org.eclipse.ui.IViewReference; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.handlers.IHandlerService; @@ -216,13 +217,22 @@ public abstract class AbstractUtility { * @return a {@link org.eclipse.ui.IViewPart} object. */ public static IViewPart getView(String id, boolean restore) { - IViewReference[] references = PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getActivePage().getViewReferences(); - for (IViewReference reference : references) { - if (reference.getId().equals(id)) { - return reference.getView(restore); - } - } + IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + IViewReference[] references = null; + if(activeWorkbenchWindow!=null){ + references = PlatformUI.getWorkbench() + .getActiveWorkbenchWindow().getActivePage().getViewReferences(); + } + else if(PlatformUI.getWorkbench().getWorkbenchWindows().length>0){ + references = PlatformUI.getWorkbench().getWorkbenchWindows()[0].getActivePage().getViewReferences(); + } + if(references!=null){ + for (IViewReference reference : references) { + if (reference.getId().equals(id)) { + return reference.getView(restore); + } + } + } return null; } -- 2.34.1