Package: release.debian.org Severity: normal User: release.debian....@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 <mo...@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 <lawre...@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")