Author: toad
Date: 2008-10-31 18:08:43 +0000 (Fri, 31 Oct 2008)
New Revision: 23259
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
Log:
Fix NPE, try to find the real cause.
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
2008-10-31 18:08:07 UTC (rev 23258)
+++
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
2008-10-31 18:08:43 UTC (rev 23259)
@@ -204,6 +204,7 @@
}
public synchronized void addPendingKeys(KeyListener listener) {
+ if(listener == null) throw new NullPointerException();
keyListeners.add(listener);
Logger.normal(this, "Added pending keys to "+this+" : size now
"+keyListeners.size()+" : "+listener);
}
@@ -219,6 +220,11 @@
boolean found = false;
for(Iterator<KeyListener> i =
keyListeners.iterator();i.hasNext();) {
KeyListener listener = i.next();
+ if(listener == null) {
+ i.remove();
+ Logger.error(this, "Null KeyListener in
removePendingKeys()");
+ continue;
+ }
if(listener.getHasKeyListener() == hasListener) {
found = true;
i.remove();