Author: toad
Date: 2008-06-24 20:34:46 +0000 (Tue, 24 Jun 2008)
New Revision: 20657

Modified:
   branches/db4o/freenet/src/freenet/client/events/SimpleEventProducer.java
Log:
SimpleEventProducer: activation, iff container != null.

Modified: 
branches/db4o/freenet/src/freenet/client/events/SimpleEventProducer.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/events/SimpleEventProducer.java    
2008-06-24 19:52:24 UTC (rev 20656)
+++ branches/db4o/freenet/src/freenet/client/events/SimpleEventProducer.java    
2008-06-24 20:34:46 UTC (rev 20657)
@@ -53,10 +53,15 @@
      * Sends the ClientEvent to all registered listeners of this object.
      **/
     public void produceEvent(ClientEvent ce, ObjectContainer container, 
ClientContext context) {
+       if(container != null)
+               container.activate(listeners, 1);
        for (Enumeration e = listeners.elements() ; 
             e.hasMoreElements();) {
             try {
-                ((ClientEventListener) e.nextElement()).receive(ce, container, 
context);
+               ClientEventListener cel = (ClientEventListener) e.nextElement();
+               if(container != null)
+                       container.activate(cel, 1);
+                cel.receive(ce, container, context);
             } catch (NoSuchElementException ne) {
                Logger.normal(this, "Concurrent modification in "+
                                "produceEvent!: "+this);
@@ -83,6 +88,8 @@
     }

        public void removeFrom(ObjectContainer container) {
+       if(container != null)
+               container.activate(listeners, 1);
                ClientEventListener[] list = (ClientEventListener[]) 
listeners.toArray(new ClientEventListener[listeners.size()]);
                listeners.clear();
                container.delete(listeners);


Reply via email to