Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-11-02 11:27:20 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-11-02 11:27:20 (GMT)
commit203391ea6f55698236b7430e5e408e2f513c2f77 (patch)
treee13a6321b031b4161a82f6ea47936bf86cb1aafc
parentd2c6a15db4ba8a145d6776fcdc4ebd9afa0b2027 (diff)
Destroy only once, so we save some warnings.
-rw-r--r--query.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/query.py b/query.py
index 139e829..b74fe54 100644
--- a/query.py
+++ b/query.py
@@ -72,9 +72,10 @@ class _Cache(gobject.GObject):
def remove_all(self, jobjects):
jobjects = jobjects[:]
for jobject in jobjects:
- self._array.remove(jobject)
- del self._dict[jobject.object_id]
- self._destroy_jobjects(jobjects)
+ obj = self._dict[jobject.object_id]
+ self._array.remove(obj)
+ del self._dict[obj.object_id]
+ obj.destroy()
def __len__(self):
return len(self._array)
@@ -91,6 +92,8 @@ class _Cache(gobject.GObject):
self._datastore_updated_handler.remove()
self._datastore_deleted_handler.remove()
self._destroy_jobjects(self._array)
+ self._array = []
+ self._dict = {}
def _invalidate(self):
self._destroy_jobjects(self._array)