Fix hang on quit

This commit is contained in:
John Garland 2010-10-23 00:46:50 +11:00
parent 6d2a001635
commit 02ad0b93ab
4 changed files with 13 additions and 14 deletions

View File

@ -1,6 +1,7 @@
=== Deluge 1.3.1 (In Development) === === Deluge 1.3.1 (In Development) ===
==== Core ==== ==== Core ====
* #1369: Fix non-ascii config folders not working in windows * #1369: Fix non-ascii config folders not working in windows
* Fix hang on quit
==== GtkUI ==== ==== GtkUI ====
* #1365: Fix sidebar not updating show/hide trackers * #1365: Fix sidebar not updating show/hide trackers

View File

@ -152,11 +152,16 @@ class MainWindow(component.Component):
"""Returns a reference to the main window glade object.""" """Returns a reference to the main window glade object."""
return self.main_glade return self.main_glade
def quit(self): def quit(self, shutdown=False):
if client.is_classicmode(): """
gtk.main_quit() Quits the GtkUI
else:
reactor.stop() :param shutdown: whether or not to shutdown the daemon as well
:type shutdown: boolean
"""
if shutdown:
client.daemon.shutdown()
reactor.stop()
def load_window_state(self): def load_window_state(self):
x = self.config["window_x_pos"] x = self.config["window_x_pos"]

View File

@ -253,10 +253,7 @@ class MenuBar(component.Component):
def on_menuitem_quitdaemon_activate(self, data=None): def on_menuitem_quitdaemon_activate(self, data=None):
log.debug("on_menuitem_quitdaemon_activate") log.debug("on_menuitem_quitdaemon_activate")
# Tell the core to shutdown self.window.quit(shutdown=True)
def on_shutdown(result):
self.window.quit()
client.daemon.shutdown().addCallback(on_shutdown)
def on_menuitem_quit_activate(self, data=None): def on_menuitem_quit_activate(self, data=None):
log.debug("on_menuitem_quit_activate") log.debug("on_menuitem_quit_activate")

View File

@ -323,9 +323,6 @@ class SystemTray(component.Component):
if self.config["lock_tray"] and not self.window.visible(): if self.config["lock_tray"] and not self.window.visible():
self.unlock_tray() self.unlock_tray()
if self.config["classic_mode"]:
client.daemon.shutdown()
self.window.quit() self.window.quit()
def on_menuitem_quitdaemon_activate(self, menuitem): def on_menuitem_quitdaemon_activate(self, menuitem):
@ -333,8 +330,7 @@ class SystemTray(component.Component):
if self.config["lock_tray"] and not self.window.visible(): if self.config["lock_tray"] and not self.window.visible():
self.unlock_tray() self.unlock_tray()
client.daemon.shutdown() self.window.quit(shutdown=True)
self.window.quit()
def tray_setbwdown(self, widget, data=None): def tray_setbwdown(self, widget, data=None):
self.setbwlimit(widget, _("Set Maximum Download Speed"), "max_download_speed", self.setbwlimit(widget, _("Set Maximum Download Speed"), "max_download_speed",