Author: toad
Date: 2008-12-19 14:57:33 +0000 (Fri, 19 Dec 2008)
New Revision: 24601

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
Log:
Fix NPE


Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2008-12-19 14:43:12 UTC (rev 24600)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2008-12-19 14:57:33 UTC (rev 24601)
@@ -308,7 +308,7 @@
         * @param container Either container or context is required for a 
persistent request.
         * @param context Can be null if container is not null.
         */
-       private void trySendProgressMessage(final FCPMessage msg, final int 
verbosity, final FCPConnectionOutputHandler handler, ObjectContainer container, 
ClientContext context) {
+       private void trySendProgressMessage(final FCPMessage msg, final int 
verbosity, FCPConnectionOutputHandler handler, ObjectContainer container, 
ClientContext context) {
                if(persistenceType == PERSIST_FOREVER) {
                        if(container != null) {
                                synchronized(this) {
@@ -317,11 +317,12 @@
                                }
                                container.store(this);
                        } else {
+                               final FCPConnectionOutputHandler h = handler;
                                context.jobRunner.queue(new DBJob() {
 
                                        public void run(ObjectContainer 
container, ClientContext context) {
                                                
container.activate(ClientPutBase.this, 1);
-                                               trySendProgressMessage(msg, 
verbosity, handler, container, context);
+                                               trySendProgressMessage(msg, 
verbosity, h, container, context);
                                                
container.deactivate(ClientPutBase.this, 1);
                                        }
                                        
@@ -334,6 +335,8 @@
                                        progressMessage = msg;
                        }
                }
+               if(persistenceType == PERSIST_CONNECTION && handler == null)
+                       handler = origHandler.outputHandler;
                if(handler != null)
                        handler.queue(msg);
                else

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to