[arch-commits] Commit in deluge/trunk (PKGBUILD fix_freeze.patch)

Ionut Biru ibiru at archlinux.org
Thu May 13 21:51:24 UTC 2010


    Date: Thursday, May 13, 2010 @ 17:51:24
  Author: ibiru
Revision: 80228

upgpkg: deluge 1.2.3-6
fixes hangs when closing deluge

Added:
  deluge/trunk/fix_freeze.patch
Modified:
  deluge/trunk/PKGBUILD

------------------+
 PKGBUILD         |   10 +++++--
 fix_freeze.patch |   73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-05-13 18:06:31 UTC (rev 80227)
+++ PKGBUILD	2010-05-13 21:51:24 UTC (rev 80228)
@@ -4,7 +4,7 @@
 
 pkgname=deluge
 pkgver=1.2.3
-pkgrel=5
+pkgrel=6
 pkgdesc="A bittorrent client written with python and pygtk"
 arch=('i686' 'x86_64')
 url="http://deluge-torrent.org/"
@@ -15,15 +15,19 @@
 	    'pygtk: needed for gtk ui'
 	    'librsvg: needed for gtk ui'
 	    'python-mako: needed for web ui')
-source=(http://download.deluge-torrent.org/source/${pkgname}-${pkgver}.tar.bz2 deluged deluged.conf.d deluge-web)
+source=(http://download.deluge-torrent.org/source/${pkgname}-${pkgver}.tar.bz2 deluged deluged.conf.d deluge-web
+	fix_freeze.patch)
 install=deluge.install
 backup=(etc/conf.d/deluged)
 md5sums=('f1dbc8734c1881b115b98f572e523a4d' '7d5790eeb14cd0b47d1bb3e0a19c9935'
-         '332d23fe0d21ce92b494efd73322856c' '6c913ec7322eaa60494ac9d53103005f')
+         '332d23fe0d21ce92b494efd73322856c' '6c913ec7322eaa60494ac9d53103005f'
+         '09af9b6badccb2fd5d24f8cbe9a109a7')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
 
+  patch -Np1 -i "${srcdir}/fix_freeze.patch" || return 1
+
   python setup.py build || return 1
   python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 || return 1
 

Added: fix_freeze.patch
===================================================================
--- fix_freeze.patch	                        (rev 0)
+++ fix_freeze.patch	2010-05-13 21:51:24 UTC (rev 80228)
@@ -0,0 +1,73 @@
+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




More information about the arch-commits mailing list