javadoc
[vamsas.git] / src / uk / ac / vamsas / client / simpleclient / EventGeneratorThread.java
index ded388f..1d1cf09 100644 (file)
@@ -87,7 +87,11 @@ public class EventGeneratorThread {
     PropertyChangeSupport h = (PropertyChangeSupport) handlers.get(handlerEvent);
     if (h!=null) {
       log.debug("Triggering:"+handlerEvent);
-      h.firePropertyChange(property, oldval, newval);
+      try {
+        h.firePropertyChange(property, oldval, newval);
+      } catch (Exception e) {
+        log.warn("Client Exception during handling of "+handlerEvent, e);
+      }
       log.debug("Finished  :"+handlerEvent);
     } else
       log.debug("No handlers for raised "+handlerEvent);
@@ -109,8 +113,12 @@ public class EventGeneratorThread {
     boolean continueWatching=true;
     if (!block_document_updates) {
       session.vamArchive.fileLock=doclock;
+      if (client.pickmanager!=null)
+        client.pickmanager.setPassThru(false);
       // TODO: decide if individual object update handlers are called as well as overall event handler
       _raise(Events.DOCUMENT_UPDATE, client.getSessionUrn(), null, client);
+      if (client.pickmanager!=null)
+        client.pickmanager.setPassThru(true);
       if (log.isDebugEnabled()) {
         log.debug("Finished handling a documentChanged event. Document is "+(client.cdocument==null ? "closed" : "open"));
       }