merge master into develop
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / e4 / AbstractCdmEditorPartE4.java
index 3ae9096cc59b6297255b9564837b2be3fa887bf4..d02a89e4decf4216a974ad48daecce225e693adc 100644 (file)
@@ -14,6 +14,8 @@ import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Named;
 
+import org.apache.log4j.Logger;
+import org.apache.lucene.search.similarities.Distribution;
 import org.eclipse.e4.core.di.annotations.Optional;
 import org.eclipse.e4.ui.di.PersistState;
 import org.eclipse.e4.ui.di.UISynchronize;
@@ -25,12 +27,12 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWTException;
+import org.hibernate.proxy.HibernateProxyHelper;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.description.Distribution;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
@@ -58,7 +60,7 @@ public abstract class AbstractCdmEditorPartE4
      * If it is <code>true</code> then it is currently delaying a selection.
      */
     private boolean isInDelay;
-
+    private static final Logger logger = Logger.getLogger(AbstractCdmEditorPartE4.class);
 
     /**
      * This class invokes internal_selectionChanged() in a separate thread.
@@ -129,8 +131,15 @@ public abstract class AbstractCdmEditorPartE4
             return;
         }
         if (viewer != null && viewer.getControl()!= null && viewer.getInput() != null && !viewer.getControl().isDisposed()){
-            viewer.getControl().setEnabled(true);
+           try{
+               viewer.getControl().setEnabled(true);
+           }catch(SWTException e){
+              logger.debug("Something went wrong for viewer.getControl().setEnabled(true) in " + this.getClass().getSimpleName(), e);
+           }
+
         }
+
+
         if(previousSelection==null ||
                 previousSelection!=selection){//skip redundant rendering of details view
             if(delaySelection==null){