Module: deluge
Branch: master
Commit: 5766e049876ff67ee6e8e3c502a8da3bb09405a0

Author: John Garland <[email protected]>
Date:   Sun May  2 22:05:30 2010 +1000

Fix deluge-gtk hanging on shutdown (#1247) - thanks Jan Steffens

---

 ChangeLog                     |    1 +
 deluge/ui/gtkui/gtkui.py      |    4 ++--
 deluge/ui/gtkui/mainwindow.py |    4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 63883f9..3a9a743 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
        * Implement #1012 httpdownloader supports gzip decoding
        * #496: Remove deprecated functions in favour of get_session_status()
        * #1112: Fix renaming files in add torrent dialog
+       * #1247: Fix deluge-gtk from hanging on shutdown
 
 ==== Blocklist ====
        * Implement local blocklist support
diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py
index 1a0995d..f784bd3 100644
--- a/deluge/ui/gtkui/gtkui.py
+++ b/deluge/ui/gtkui/gtkui.py
@@ -167,7 +167,7 @@ class GtkUI(object):
             self.gnome_prog = gnome.init("Deluge", deluge.common.get_version())
             self.gnome_client = gnome.ui.master_client()
             def on_die(*args):
-                gtk.main_quit()
+                reactor.stop()
             self.gnome_client.connect("die", on_die)
             log.debug("GNOME session 'die' handler registered!")
         except Exception, e:
@@ -180,7 +180,7 @@ class GtkUI(object):
             def win_handler(ctrl_type):
                 log.debug("ctrl_type: %s", ctrl_type)
                 if ctrl_type in (CTRL_CLOSE_EVENT, CTRL_SHUTDOWN_EVENT):
-                    gtk.main_quit()
+                    reactor.stop()
                     return 1
             SetConsoleCtrlHandler(win_handler)
 
diff --git a/deluge/ui/gtkui/mainwindow.py b/deluge/ui/gtkui/mainwindow.py
index ad33fd0..1153b1e 100644
--- a/deluge/ui/gtkui/mainwindow.py
+++ b/deluge/ui/gtkui/mainwindow.py
@@ -46,6 +46,7 @@ from deluge.ui.client import client
 import deluge.component as component
 from deluge.configmanager import ConfigManager
 from deluge.ui.gtkui.ipcinterface import process_args
+from twisted.internet import reactor
 
 import deluge.common
 import common
@@ -152,7 +153,7 @@ class MainWindow(component.Component):
         return self.main_glade
 
     def quit(self):
-        gtk.main_quit()
+        reactor.stop()
 
     def load_window_state(self):
         x = self.config["window_x_pos"]
@@ -238,7 +239,6 @@ class MainWindow(component.Component):
 
     def on_newversionavailable_event(self, new_version):
         if self.config["show_new_releases"]:
-            from twisted.internet import reactor
             from deluge.ui.gtkui.new_release_dialog import NewReleaseDialog
             reactor.callLater(5.0, NewReleaseDialog().show, new_version)
 

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to