Fix potential Widget is disposed exception
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 4 Apr 2016 15:14:06 +0000 (17:14 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 4 Apr 2016 15:14:06 +0000 (17:14 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmDataViewer.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java

index 57cb798855860ffd4ba5adf4329fbd317353866d..272d4711ee759e1213972d09d714050cee92dbbb 100644 (file)
@@ -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)
         */
index 15a1841fb86c1db5d9a37528be18635be1a8ff3b..4367e2b835c2863bbe8ffcac66720b81c2c1657d 100644 (file)
@@ -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);