[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#703860: unblock: reportbug/6.4.4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package reportbug

This package fixes the crashes seen with GTK+ UI, which impacted several users.

unblock reportbug/6.4.4

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Nru reportbug-6.4.3/debian/changelog reportbug-6.4.4/debian/changelog
--- reportbug-6.4.3/debian/changelog	2012-08-18 22:50:08.000000000 +0200
+++ reportbug-6.4.4/debian/changelog	2013-03-12 23:45:53.000000000 +0100
@@ -1,3 +1,13 @@
+reportbug (6.4.4) unstable; urgency=low
+
+  * reportbug/ui/gtk2_ui.py
+    - proper update GTK+ UI from threads, using gobject.idle_add(), possibily
+      fixing the crashes seen with GTK+ reportbug UI; thanks to all the
+      reporters and to Bruno Filipe Oliveira Ramos for the patch;
+      Closes: #620225
+
+ -- Sandro Tosi <morph@debian.org>  Tue, 12 Mar 2013 23:45:13 +0100
+
 reportbug (6.4.3) unstable; urgency=low
 
   * reportbug/debbugs.py
diff -Nru reportbug-6.4.3/reportbug/__init__.py reportbug-6.4.4/reportbug/__init__.py
--- reportbug-6.4.3/reportbug/__init__.py	2012-08-18 22:50:08.000000000 +0200
+++ reportbug-6.4.4/reportbug/__init__.py	2013-03-12 23:45:53.000000000 +0100
@@ -25,7 +25,7 @@
 __all__ = ['bugreport', 'utils', 'urlutils', 'checkbuildd', 'checkversions',
            'debbugs', 'exceptions', 'submit', 'tempfile']
 
-VERSION_NUMBER = "6.4.3"
+VERSION_NUMBER = "6.4.4"
 
 VERSION = "reportbug "+VERSION_NUMBER
 COPYRIGHT = VERSION + '\nCopyright (C) 1999-2008 Chris Lawrence <lawrencc@debian.org>' + \
diff -Nru reportbug-6.4.3/reportbug/ui/gtk2_ui.py reportbug-6.4.4/reportbug/ui/gtk2_ui.py
--- reportbug-6.4.3/reportbug/ui/gtk2_ui.py	2012-08-18 22:50:08.000000000 +0200
+++ reportbug-6.4.4/reportbug/ui/gtk2_ui.py	2013-03-12 23:45:53.000000000 +0100
@@ -616,7 +616,7 @@
 
     def execute (self, prompt, options=None, force_prompt=False, default=''):
         # Hackish: remove the text needed for textual UIs...
-        self.label.set_text (prompt.replace(' (enter Ctrl+c to exit reportbug without reporting a bug)', ''))
+        gobject.idle_add (self.label.set_text, prompt.replace(' (enter Ctrl+c to exit reportbug without reporting a bug)', ''))
         self.entry.set_text (default)
 
         if options:
@@ -673,7 +673,7 @@
     def execute (self, prompt):
         self.empty_ok = True
         # The result must be iterable for reportbug even if it's empty and not modified
-        self.label.set_text (prompt)
+        gobject.idle_add (self.label.set_text, prompt)
         self.buffer.set_text ("")
         self.buffer.emit ('changed')
 
@@ -762,7 +762,7 @@
     def execute (self, prompt):
         self.empty_ok = True
 
-        self.label.set_text (prompt)
+        gobject.idle_add (self.label.set_text, prompt)
 
         self.model = gtk.ListStore (str)
         self.model.connect ('row-changed', self.validate)
@@ -803,7 +803,7 @@
 
     def execute (self, par, options, prompt, default=None, any_ok=False,
                  order=None, extras=None, multiple=False):
-        self.label.set_text (par)
+        gobject.idle_add (self.label.set_text, par)
 
         self.model = gtk.ListStore (str, str)
         self.view.set_model (self.model)
@@ -1011,7 +1011,7 @@
         return matches
 
     def execute (self, buglist, sectitle):
-        self.label.set_text ("%s. Double-click a bug to retrieve and submit more information." % sectitle)
+        gobject.idle_add (self.label.set_text, "%s. Double-click a bug to retrieve and submit more information." % sectitle)
 
         self.model = gtk.TreeStore (*([str] * len (self.columns)))
         for category in buglist:
@@ -1089,7 +1089,7 @@
         message = message % args
         # make it all on one line, it will be wrapped at display-time
         message = ' '.join(message.split())
-        self.label.set_text (message)
+        gobject.idle_add (self.label.set_text, message)
         # Reportbug should use final_message, so emulate it
         if ('999999' in message):
             self.set_page_type (gtk.ASSISTANT_PAGE_CONFIRM)
@@ -1215,7 +1215,7 @@
             self.default.grab_focus ()
 
     def execute (self, prompt, menuopts, options):
-        self.label.set_text (prompt)
+        gobject.idle_add (self.label.set_text, prompt)
 
         buttons = []
         for menuopt in menuopts:
@@ -1294,7 +1294,7 @@
         return vbox
 
     def set_label (self, text):
-        self.label.set_text (text)
+        gobject.idle_add (self.label.set_text, text)
 
     def reset_label (self):
         self.set_label ("This operation may take a while")

Reply to: