COntrol: tag -1 + upstream confirmed fixed-upstream patch

On Mon, 20 Oct 2014 14:14:14 +0200, Kai-Martin Knaak wrote:

> I see this bug in XFCE and in the gnome desktop environment, too. 
> 
> Message on the command line is:
> /-------------------------
> (process:18231): Gtk-Message (recursed): GtkDialog mapped without a
> transient parent. This is discouraged.Aborted
> \-------------------------

Confirmed, without any desktop environment :)

Looking at upstream's git repo [0], there's an interesting commit
about a dummy window.
Indeed with this patch, the segfault goes away.

Then I get an error window about some tab borders, so let's try the
other commit there as well.

And lo and behold, with both of them, glabels starts and I can create
a new document.


I'm attaching a debdiff; not sure if there are other problems
lingering around ...


Cheers,
gregor


[0]
https://git.gnome.org/browse/glabels/log/
git clone git://git.gnome.org/glabels


-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Cat Stevens: The Foreigner Suite
diff -Nru glabels-3.0.1/debian/changelog glabels-3.0.1/debian/changelog
--- glabels-3.0.1/debian/changelog	2013-11-10 23:59:46.000000000 +0100
+++ glabels-3.0.1/debian/changelog	2014-10-28 19:51:27.000000000 +0100
@@ -1,3 +1,13 @@
+glabels (3.0.1-4.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix "glabels exists with "Abort" when creating a new document".
+    Add patches for two commits (66c007, 3700cd8) from upstream git for Gtk+
+    3.14 compatibility.
+    (Closes: #763769)
+
+ -- gregor herrmann <gre...@debian.org>  Tue, 28 Oct 2014 19:31:27 +0100
+
 glabels (3.0.1-4) unstable; urgency=low
 
   * Upload to unstable as evolution-data-server 3.8 has arrived there
diff -Nru glabels-3.0.1/debian/patches/0001-Added-dummy-window-as-parent-in-warning-and-critical.patch glabels-3.0.1/debian/patches/0001-Added-dummy-window-as-parent-in-warning-and-critical.patch
--- glabels-3.0.1/debian/patches/0001-Added-dummy-window-as-parent-in-warning-and-critical.patch	1970-01-01 01:00:00.000000000 +0100
+++ glabels-3.0.1/debian/patches/0001-Added-dummy-window-as-parent-in-warning-and-critical.patch	2014-10-28 19:41:19.000000000 +0100
@@ -0,0 +1,59 @@
+From b66c0076908a706235af21b2c1d3ef04a6ba1f7f Mon Sep 17 00:00:00 2001
+From: Jim Evins <ev...@snaught.com>
+Date: Thu, 23 Oct 2014 20:45:12 -0400
+Subject: [PATCH] Added dummy window as parent in warning and critical error
+ handlers.
+
+In gtk 3.14, creating a message dialog without a parent window
+causes a crash.  Unfortunately this causes the original error or
+warning message from being seen by the user.
+---
+ src/critical-error-handler.c | 4 +++-
+ src/warning-handler.c        | 5 ++++-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/critical-error-handler.c b/src/critical-error-handler.c
+index 0d9fed1..d7ab99d 100644
+--- a/src/critical-error-handler.c
++++ b/src/critical-error-handler.c
+@@ -61,9 +61,11 @@ critical_error_handler (const gchar    *log_domain,
+                         const gchar    *message,
+                         gpointer        user_data)
+ {
++        GtkWidget *dummy_window;
+         GtkWidget *dialog;
+ 
+-        dialog = gtk_message_dialog_new (NULL,
++        dummy_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
++        dialog = gtk_message_dialog_new (GTK_WINDOW (dummy_window),
+                                          GTK_DIALOG_MODAL,
+                                          GTK_MESSAGE_ERROR,
+                                          GTK_BUTTONS_NONE,
+diff --git a/src/warning-handler.c b/src/warning-handler.c
+index 8f5f1b7..a7cb5f8 100644
+--- a/src/warning-handler.c
++++ b/src/warning-handler.c
+@@ -60,9 +60,11 @@ warning_handler (const gchar    *log_domain,
+                  const gchar    *message,
+                  gpointer        user_data)
+ {
++        GtkWidget *dummy_window;
+         GtkWidget *dialog;
+ 
+-        dialog = gtk_message_dialog_new (NULL,
++        dummy_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
++        dialog = gtk_message_dialog_new (GTK_WINDOW (dummy_window),
+                                          GTK_DIALOG_MODAL,
+                                          GTK_MESSAGE_WARNING,
+                                          GTK_BUTTONS_CLOSE,
+@@ -73,6 +75,7 @@ warning_handler (const gchar    *log_domain,
+         gtk_dialog_run (GTK_DIALOG (dialog));
+ 
+ 	gtk_widget_destroy (GTK_WIDGET (dialog));
++        gtk_widget_destroy (GTK_WIDGET (dummy_window));
+ }
+ 
+ 
+-- 
+2.1.1
+
diff -Nru glabels-3.0.1/debian/patches/0002-Removed-obsolete-tab-hborder-property-from-media-sel.patch glabels-3.0.1/debian/patches/0002-Removed-obsolete-tab-hborder-property-from-media-sel.patch
--- glabels-3.0.1/debian/patches/0002-Removed-obsolete-tab-hborder-property-from-media-sel.patch	1970-01-01 01:00:00.000000000 +0100
+++ glabels-3.0.1/debian/patches/0002-Removed-obsolete-tab-hborder-property-from-media-sel.patch	2014-10-28 19:46:06.000000000 +0100
@@ -0,0 +1,28 @@
+From 3700cd8f40e429bb9a562533493a352fc40c3d4e Mon Sep 17 00:00:00 2001
+From: Jim Evins <ev...@snaught.com>
+Date: Thu, 23 Oct 2014 20:57:06 -0400
+Subject: [PATCH 2/2] Removed obsolete tab-hborder property from media-select
+ UI file.
+
+Unfortunately, beginning with gtk 3.14, rather than ignoring this obsolete
+property, having it in a UI file is considered a critical error, thus crashing
+glabels on newer distributions.
+---
+ data/ui/media-select.ui | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/data/ui/media-select.ui b/data/ui/media-select.ui
+index 499ddbd..ee45ec0 100644
+--- a/data/ui/media-select.ui
++++ b/data/ui/media-select.ui
+@@ -18,7 +18,6 @@
+         <child>
+           <object class="GtkNotebook" id="notebook">
+             <property name="visible">True</property>
+-            <property name="tab_hborder">0</property>
+             <child>
+               <object class="GtkVBox" id="recent_tab_vbox">
+                 <property name="height_request">320</property>
+-- 
+2.1.1
+
diff -Nru glabels-3.0.1/debian/patches/series glabels-3.0.1/debian/patches/series
--- glabels-3.0.1/debian/patches/series	2013-11-10 23:59:46.000000000 +0100
+++ glabels-3.0.1/debian/patches/series	2014-10-28 19:46:06.000000000 +0100
@@ -3,3 +3,5 @@
 0003-Ignore-license.page.patch
 0004-unbreak-with-evolution-data-server-3.6.0.patch
 0005-fix-pl.po-encoding.diff
+0001-Added-dummy-window-as-parent-in-warning-and-critical.patch
+0002-Removed-obsolete-tab-hborder-property-from-media-sel.patch

Attachment: signature.asc
Description: Digital Signature

Reply via email to