diff --git a/ChangeLog b/ChangeLog index 4f116b222..2cf45bd83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,7 @@ ==== GtkUI ==== * Fix #1104, #735 use path.utf-8 if available + * Fix #1114 test active port not working in classic mode ==== Console ==== * Fix #1115 not showing usage for the 'debug' command diff --git a/deluge/ui/client.py b/deluge/ui/client.py index 3cd73a4ad..7a3cde372 100644 --- a/deluge/ui/client.py +++ b/deluge/ui/client.py @@ -422,22 +422,15 @@ class DaemonClassicProxy(DaemonProxy): def call(self, method, *args, **kwargs): #log.debug("call: %s %s %s", method, args, kwargs) - d = defer.Deferred() + import copy + try: m = self.__daemon.rpcserver.get_object_method(method) except Exception, e: log.exception(e) - d.errback(e) - return d - - try: - import copy - result = m(*copy.deepcopy(args), **copy.deepcopy(kwargs)) - except Exception, e: - d.errback(e) + return defer.fail(e) else: - d.callback(result) - return d + return defer.maybeDeferred(m, *copy.deepcopy(args), **copy.deepcopy(kwargs)) def register_event_handler(self, event, handler): """