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);