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