diff --git a/ChangeLog b/ChangeLog index 05ea58be4..1ad8ba8ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,10 @@ === Deluge 1.2.1 === ==== GtkUI ==== * Fix #1128 Show an error dialog when unable to start a 'deluged' process - + +==== Console ==== + * Fix hanging when using commands from the command-line + === Deluge 1.2.0 - "Bursting like an infected kidney" (10 January 2010) === ==== Core ==== * Fix file renaming diff --git a/deluge/ui/console/commands/plugin.py b/deluge/ui/console/commands/plugin.py index e626e7e54..84b92e623 100644 --- a/deluge/ui/console/commands/plugin.py +++ b/deluge/ui/console/commands/plugin.py @@ -69,7 +69,7 @@ class Command(BaseCommand): for p in result: self.console.write("{!input!} " + p) - client.core.get_available_plugins().addCallback(on_available_plugins) + return client.core.get_available_plugins().addCallback(on_available_plugins) if options["show"]: def on_enabled_plugins(result): @@ -77,7 +77,7 @@ class Command(BaseCommand): for p in result: self.console.write("{!input!} " + p) - client.core.get_enabled_plugins().addCallback(on_enabled_plugins) + return client.core.get_enabled_plugins().addCallback(on_enabled_plugins) if options["enable"]: def on_available_plugins(result): @@ -90,7 +90,7 @@ class Command(BaseCommand): if arg.lower() in plugins: client.core.enable_plugin(plugins[arg.lower()]) - client.core.get_available_plugins().addCallback(on_available_plugins) + return client.core.get_available_plugins().addCallback(on_available_plugins) if options["disable"]: def on_enabled_plugins(result): @@ -103,4 +103,4 @@ class Command(BaseCommand): if arg.lower() in plugins: client.core.disable_plugin(plugins[arg.lower()]) - client.core.get_enabled_plugins().addCallback(on_enabled_plugins) + return client.core.get_enabled_plugins().addCallback(on_enabled_plugins) diff --git a/deluge/ui/console/main.py b/deluge/ui/console/main.py index 5bf8df9f8..30e530002 100644 --- a/deluge/ui/console/main.py +++ b/deluge/ui/console/main.py @@ -170,7 +170,7 @@ class ConsoleUI(component.Component): # If we have args, lets process them and quit # allow multiple commands split by ";" for arg in args.split(";"): - deferreds.append(self.do_command(arg.strip())) + deferreds.append(defer.maybeDeferred(self.do_command, arg.strip())) def on_complete(result): self.do_command("quit")