diff -r 851de24ecb61 -r 4c10b7956435 src/Dictionary.cpp
--- a/src/Dictionary.cpp	Sun Sep 20 21:25:47 2009 -0700
+++ b/src/Dictionary.cpp	Thu Sep 24 21:46:17 2009 -0700
@@ -186,9 +186,9 @@
     }
     
     bool HashDictionary::remove (Key key) {
-        KeyAndValue *kv = (KeyAndValue*) _hash.get(key);
+        KeyAndValue *kv = (KeyAndValue*) _hash.remove(key);
         if (kv) {
-            free(kv);
+            delete kv;
             return true;
         } else
             return false;
@@ -196,7 +196,7 @@
     
     void HashDictionary::removeAll() {
         for (Hash::Iterator it(&_hash); it; ++it)
-            free(it.value());
+            delete (KeyAndValue*) it.value();
         _hash.removeAll();
     }