From 97542d841d8b01d6eae2139808052ac3d238a20b Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Mon, 4 Apr 2016 17:14:06 +0200
Subject: [PATCH] Fix potential Widget is disposed exception
---
.../eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java | 5 ++++-
.../eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java
index 57cb79885..272d4711e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java
@@ -113,13 +113,16 @@ public abstract class AbstractCdmDataViewer extends Viewer implements IConversat
/** {@inheritDoc} */
@Override
public Control getControl() {
+ if(body.isDisposed()){
+ return null;
+ }
for(Control child : body.getChildren()){
return child;
}
return body;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.Viewer#setInput(java.lang.Object)
*/
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java
index 15a1841fb..4367e2b83 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java
@@ -110,7 +110,7 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection
Object element = selection.getFirstElement();
//avoid widget is disposed exceptions
- if (getViewer().getControl().isDisposed()){
+ if (getViewer().getControl()==null || getViewer().getControl().isDisposed()){
return;
}
getViewer().setInput(element);
--
2.34.1