From 234863b664a7c201a3b8b16b698ee282edd4953c Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Fri, 13 Nov 2009 05:22:38 +0000 Subject: [PATCH] Fix autoconnecting to the next host in the list if the selected one isn't available --- ChangeLog | 1 + deluge/ui/gtkui/gtkui.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0ca8cb156..77794dfd2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,7 @@ * Fix disabling/enabling plugins after switching daemons * Reduce height of Add Torrent Dialog by ~80 pixels * Fix #1071 issue where Deluge will fail to start if there is a stale ipc lockfile + * Fix autoconnecting to the next host in the list if the selected one isn't available ==== Web ==== * Fix installing the deluge-web manpage diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py index 5f83a4359..7f9680ec8 100644 --- a/deluge/ui/gtkui/gtkui.py +++ b/deluge/ui/gtkui/gtkui.py @@ -309,10 +309,10 @@ Please see the details below for more information."), details=traceback.format_e dialogs.ErrorDialog( _("Error Starting Daemon"), _("There was an error starting the daemon process. Try running it from a console to see if there is an error.")).run() - + # We'll try 30 reconnects at 500ms intervals try_counter = 30 - + def on_connect(connector): component.start() def on_connect_fail(result, try_counter): @@ -325,12 +325,13 @@ Please see the details below for more information."), details=traceback.format_e time.sleep(0.5) do_connect() return result - + def do_connect(): client.connect(*host[1:]).addCallback(on_connect).addErrback(on_connect_fail, try_counter) - + if try_connect: do_connect() + break if self.config["show_connection_manager_on_start"]: # XXX: We need to call a simulate() here, but this could be a bug in twisted