Author: toad
Date: 2008-12-19 20:06:27 +0000 (Fri, 19 Dec 2008)
New Revision: 24644

Modified:
   branches/db4o/freenet/src/freenet/client/ClientMetadata.java
   branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
Log:
Clone here too, and always delete the clientMetadata


Modified: branches/db4o/freenet/src/freenet/client/ClientMetadata.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/ClientMetadata.java        
2008-12-19 20:04:41 UTC (rev 24643)
+++ branches/db4o/freenet/src/freenet/client/ClientMetadata.java        
2008-12-19 20:06:27 UTC (rev 24644)
@@ -3,6 +3,8 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.client;
 
+import com.db4o.ObjectContainer;
+
 /**
  * Stores the metadata that the client might actually be interested in.
  */
@@ -67,4 +69,8 @@
                }
                return s;
        }
+
+       public void removeFrom(ObjectContainer container) {
+               container.delete(this);
+       }
 }

Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-12-19 20:04:41 UTC (rev 24643)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-12-19 20:06:27 UTC (rev 24644)
@@ -88,7 +88,7 @@
                else
                        this.metaStrings = new ArrayList<String>(metaStrings);
                this.addedMetaStrings = addedMetaStrings;
-               this.clientMetadata = metadata;
+               this.clientMetadata = (metadata != null ? (ClientMetadata) 
metadata.clone() : new ClientMetadata());
                thisKey = key.getURI();
                this.uri = origURI;
                this.actx = actx;
@@ -1079,7 +1079,7 @@
                ah.removeFrom(container);
                metaStrings.clear();
                container.delete(metaStrings);
-               // FIXME what to do about clientMetadata ??
+               clientMetadata.removeFrom(container);
                // actx is global to the ClientRequest, not our problem
                decompressors.clear();
                container.delete(decompressors);

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

Reply via email to