Author: toad
Date: 2008-08-12 22:40:06 +0000 (Tue, 12 Aug 2008)
New Revision: 21780

Modified:
   branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
Log:
Don't deactivate the request and cause an NPE!


Modified: 
branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java 
2008-08-12 22:36:55 UTC (rev 21779)
+++ branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java 
2008-08-12 22:40:06 UTC (rev 21780)
@@ -69,11 +69,14 @@
                blocksFinished = new ArrayList<PersistentChosenBlock>();
                this.scheduler = sched;
                // Fill up blocksNotStarted
-               container.activate(req, 1);
+               boolean reqActive = container.ext().isActive(req);
+               if(!reqActive)
+                       container.activate(req, 1);
                blocksNotStarted.addAll(req.makeBlocks(this, sched, container, 
context));
-               container.deactivate(req, 1);
+               sender = req.getSender(container, context);
+               if(!reqActive)
+                       container.deactivate(req, 1);
                size = blocksNotStarted.size();
-               sender = req.getSender(container, context);
        }

        void onFinished(PersistentChosenBlock block, ClientContext context) {


Reply via email to