All pastes #909509 Raw Edit

Anonymous

public diff v1 · immutable
·published 2008-02-19 05:51 UTC
rendered paste body
Index: deluge/ui/client.py===================================================================--- deluge/ui/client.py	(revision 2816)+++ deluge/ui/client.py	(working copy)@@ -83,22 +83,30 @@     def do_multicall(self, block=False):         if len(self._callbacks) == 0:             return True++        def invoke_callbacks(callbacks, value):+            try:+                for callback in callbacks:+                    if block == False:+                        gobject.idle_add(callback, value)+                    else:+                        callback(value)+            except:+                pass                  if self._multi is not None and self._core is not None:             try:                 try:                     for i, ret in enumerate(self._multi()):-                        try:-                            for callback in self._callbacks[i]:-                                if block == False:-                                    gobject.idle_add(callback, ret)-                                else:-                                    callback(ret)-                        except:-                            pass+                        invoke_callbacks(self._callbacks[i], ret)                 except socket.error, e:                     log.warning("Could not contact daemon: %s", e)                     self.set_core_uri(None)+                except deluge.xmlrpclib.Fault, e:+                    try:+                        deluge.error.from_xmlrpc_fault(e)+                    except deluge.error.DelugeError, e:+                        invoke_callbacks(self._callbacks[i], e)             finally:                                         self._callbacks = []