Author: tack
Date: Mon Oct 17 00:40:48 2005
New Revision: 871
Modified:
trunk/base/src/notifier/callback.py
Log:
Fix bugs in signal disconnection
Modified: trunk/base/src/notifier/callback.py
==============================================================================
--- trunk/base/src/notifier/callback.py (original)
+++ trunk/base/src/notifier/callback.py Mon Oct 17 00:40:48 2005
@@ -361,20 +361,20 @@
def _disconnect(self, callback, args, kwargs):
new_callbacks = []
- for pos, cb_all in zip(range(len(self._callbacks)),
self._callbacks[:]):
- cb_callback, cb_args, cb_kwargs, cb_once, cb_weak = cb_all
- if cb_weak and args != None:
+ for cb in self._callbacks[:]:
+ cb_callback, cb_args, cb_kwargs, cb_once, cb_weak = cb
+ if cb_weak:
cb_callback = cb_callback._get_callback()
cb_args, cb_kwargs = unweakref_data((cb_args, cb_kwargs))
- if (cb_callback == callback and args == None) or \
+ if (cb_callback == callback and len(args) == 0) or \
(cb_callback, cb_args, cb_kwargs) == (callback, args, kwargs):
# This matches what we want to disconnect.
continue
- new_callbacks.append(cb_all)
+ new_callbacks.append(cb)
- if len(new_callbacks) != self._callbacks:
+ if len(new_callbacks) != len(self._callbacks):
self._callbacks = new_callbacks
if self._changed_cb:
self._changed_cb(self, Signal.SIGNAL_DISCONNECTED)
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog