Author: toad
Date: 2008-08-07 16:27:52 +0000 (Thu, 07 Aug 2008)
New Revision: 21655

Modified:
   branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
Log:
Activation NPE fix (small insert to SSK)

Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java      
2008-08-07 10:42:28 UTC (rev 21654)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java      
2008-08-07 16:27:52 UTC (rev 21655)
@@ -151,6 +151,8 @@
        void onCompressedInner(CompressionOutput output, ObjectContainer 
container, ClientContext context) throws InsertException {
                if(container != null) {
                        container.activate(block, 2);
+                       container.activate(parent, 1);
+                       container.activate(cb, 1);
                }
                long origSize = block.getData().size();
                Bucket bestCompressedData = output.data;
@@ -204,8 +206,11 @@
                                bi.schedule(container, context);
                                cb.onBlockSetFinished(this, container, context);
                                started = true;
-                               if(persistent)
+                               if(persistent) {
                                        container.set(this);
+                                       container.deactivate(cb, 1);
+                                       container.deactivate(parent, 1);
+                               }
                                return;
                        }
                }
@@ -247,8 +252,11 @@
                                cb.onBlockSetFinished(this, container, context);
                        }
                        started = true;
-                       if(persistent)
+                       if(persistent) {
                                container.set(this);
+                               container.deactivate(cb, 1);
+                               container.deactivate(parent, 1);
+                       }
                        return;
                }
                // Otherwise the file is too big to fit into one block
@@ -270,8 +278,11 @@
                        if(earlyEncode) sfi.forceEncode(container, context);
                }
                started = true;
-               if(persistent)
+               if(persistent) {
                        container.set(this);
+                       container.deactivate(cb, 1);
+                       container.deactivate(parent, 1);
+               }
        }

        private void tryCompress(ObjectContainer container, ClientContext 
context) throws InsertException {


Reply via email to