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;
* @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;
}