diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-11-02 11:27:20 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-11-02 11:27:20 (GMT) |
commit | 203391ea6f55698236b7430e5e408e2f513c2f77 (patch) | |
tree | e13a6321b031b4161a82f6ea47936bf86cb1aafc | |
parent | d2c6a15db4ba8a145d6776fcdc4ebd9afa0b2027 (diff) |
Destroy only once, so we save some warnings.
-rw-r--r-- | query.py | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -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) |