[Reportbug-commits] [SCM] Reportbug - reports bugs in the Debian distribution branch, master, updated. 6.4.4

Sandro Tosi morph at debian.org
Sun Mar 17 21:09:29 UTC 2013


The following commit has been merged in the master branch:
commit a47a2d75ab17a0a0bb76e7134af35e909d1d51c5
Author: Sandro Tosi <morph at debian.org>
Date:   Tue Mar 12 23:34:23 2013 +0100

    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

diff --git a/debian/changelog b/debian/changelog
index 3121c51..86af3c0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+reportbug (6.4.4) UNRELEASED; 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 at debian.org>  Tue, 12 Mar 2013 23:20:05 +0100
+
 reportbug (6.4.3) unstable; urgency=low
 
   * reportbug/debbugs.py
diff --git a/reportbug/ui/gtk2_ui.py b/reportbug/ui/gtk2_ui.py
index 2a39b66..f82e3ec 100644
--- a/reportbug/ui/gtk2_ui.py
+++ b/reportbug/ui/gtk2_ui.py
@@ -616,7 +616,7 @@ class GetStringPage (Page):
 
     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 @@ class GetMultilinePage (Page):
     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 @@ class GetListPage (TreePage):
     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 @@ class MenuPage (TreePage):
 
     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 @@ class HandleBTSQueryPage (TreePage):
         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 @@ class LongMessagePage (Page):
         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 @@ class SelectOptionsPage (Page):
             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 @@ class ProgressPage (Page):
         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")

-- 
Reportbug - reports bugs in the Debian distribution



More information about the Reportbug-commits mailing list