diff options
Diffstat (limited to 'extra/deluge/fix_freeze.patch')
-rw-r--r-- | extra/deluge/fix_freeze.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/extra/deluge/fix_freeze.patch b/extra/deluge/fix_freeze.patch new file mode 100644 index 000000000..2991ca770 --- /dev/null +++ b/extra/deluge/fix_freeze.patch @@ -0,0 +1,74 @@ + +diff --git a/deluge/ui/gtkui/connectionmanager.py b/deluge/ui/gtkui/connectionmanager.py +index 554c570..3b9ddf4 100644 +--- a/deluge/ui/gtkui/connectionmanager.py ++++ b/deluge/ui/gtkui/connectionmanager.py +@@ -99,12 +99,16 @@ class ConnectionManager(component.Component): + + self.config = ConfigManager("hostlist.conf.1.2", DEFAULT_CONFIG) + ++ self.running = False ++ + # Component overrides + def start(self): + pass + + def stop(self): +- pass ++ # Close this dialog when we are shutting down ++ if self.running: ++ self.connection_manager.response(gtk.RESPONSE_CLOSE) + + def shutdown(self): + pass +diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py +index 255622a..4856986 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) +
\ No newline at end of file |