[gtk3] Backport two fixes from git master

Kalev Lember kalev at fedoraproject.org
Fri May 30 18:58:17 UTC 2014


commit 74ffd8d58bb48fdc313aa62b0bf21bb78f9cd425
Author: Kalev Lember <kalevlember at gmail.com>
Date:   Fri May 30 20:58:08 2014 +0200

    Backport two fixes from git master
    
    These should fix a gedit crash and incorrect headerbar sizing.

 ...ller-Ensure-controllers-stay-alive-during.patch |   33 +++++++++++
 ...kMisc-Keep-gtk_misc_set_alignment-working.patch |   57 ++++++++++++++++++++
 gtk3.spec                                          |   11 ++++-
 3 files changed, 100 insertions(+), 1 deletions(-)
---
diff --git a/0001-eventcontroller-Ensure-controllers-stay-alive-during.patch b/0001-eventcontroller-Ensure-controllers-stay-alive-during.patch
new file mode 100644
index 0000000..9552188
--- /dev/null
+++ b/0001-eventcontroller-Ensure-controllers-stay-alive-during.patch
@@ -0,0 +1,33 @@
+From 618e3d31570fca577cf374d7b318bc7ca44cadb1 Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg at gnome.org>
+Date: Wed, 28 May 2014 19:39:07 +0200
+Subject: [PATCH] eventcontroller: Ensure controllers stay alive during event
+ emission
+
+Those might trigger the destruction of some widget that would dispose the
+event controller while the event is still being handled, so keep an extra
+ref on the controller during event processing.
+---
+ gtk/gtkeventcontroller.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gtk/gtkeventcontroller.c b/gtk/gtkeventcontroller.c
+index b674380..c0b828f 100644
+--- a/gtk/gtkeventcontroller.c
++++ b/gtk/gtkeventcontroller.c
+@@ -205,7 +205,11 @@ gtk_event_controller_handle_event (GtkEventController *controller,
+   controller_class = GTK_EVENT_CONTROLLER_GET_CLASS (controller);
+ 
+   if (controller_class->handle_event)
+-    retval = controller_class->handle_event (controller, event);
++    {
++      g_object_ref (controller);
++      retval = controller_class->handle_event (controller, event);
++      g_object_unref (controller);
++    }
+ 
+   return retval;
+ }
+-- 
+2.0.0
+
diff --git a/0002-Revert-GtkMisc-Keep-gtk_misc_set_alignment-working.patch b/0002-Revert-GtkMisc-Keep-gtk_misc_set_alignment-working.patch
new file mode 100644
index 0000000..3882772
--- /dev/null
+++ b/0002-Revert-GtkMisc-Keep-gtk_misc_set_alignment-working.patch
@@ -0,0 +1,57 @@
+From 489b59867ce752a19d01fa43a86bbcefe6e7d8cf Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Thu, 29 May 2014 10:30:57 -0400
+Subject: [PATCH] Revert "GtkMisc: Keep gtk_misc_set_alignment working"
+
+This reverts commit aabc356b80fab025d460f61b6c08743b2c10e20d.
+
+Labels are back to looking at x/yalign (for now).
+---
+ gtk/deprecated/gtkmisc.c | 24 ------------------------
+ 1 file changed, 24 deletions(-)
+
+diff --git a/gtk/deprecated/gtkmisc.c b/gtk/deprecated/gtkmisc.c
+index ff4db12..303b5e7 100644
+--- a/gtk/deprecated/gtkmisc.c
++++ b/gtk/deprecated/gtkmisc.c
+@@ -27,8 +27,6 @@
+ #include "gtkmisc.h"
+ #include "gtkintl.h"
+ #include "gtkprivate.h"
+-#include "gtkimage.h"
+-#include "gtklabel.h"
+ 
+ 
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+@@ -234,28 +232,6 @@ gtk_misc_set_alignment (GtkMisc *misc,
+ 
+   priv = misc->priv;
+ 
+-  if (GTK_IS_LABEL (misc) || GTK_IS_IMAGE (misc))
+-    {
+-      GtkAlign halign, valign;
+-
+-      if (xalign < 0.4)
+-        halign = GTK_ALIGN_START;
+-      else if (xalign > 0.6)
+-        halign = GTK_ALIGN_END;
+-      else
+-        halign = GTK_ALIGN_CENTER;
+-
+-      if (yalign < 0.4)
+-        valign = GTK_ALIGN_START;
+-      else if (yalign > 0.6)
+-        valign = GTK_ALIGN_END;
+-      else
+-        valign = GTK_ALIGN_CENTER;
+-
+-      gtk_widget_set_halign (GTK_WIDGET (misc), halign);
+-      gtk_widget_set_valign (GTK_WIDGET (misc), valign);
+-    }
+-
+   if (xalign < 0.0)
+     xalign = 0.0;
+   else if (xalign > 1.0)
+-- 
+2.0.0
+
diff --git a/gtk3.spec b/gtk3.spec
index 976a027..2c72c1c 100644
--- a/gtk3.spec
+++ b/gtk3.spec
@@ -17,13 +17,17 @@
 Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
 Name: gtk3
 Version: 3.13.2
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
 #VCS: git:git://git.gnome.org/gtk+
 Source: http://download.gnome.org/sources/gtk+/3.13/gtk+-%{version}.tar.xz
 
+# Backports from git master
+Patch1: 0001-eventcontroller-Ensure-controllers-stay-alive-during.patch
+Patch2: 0002-Revert-GtkMisc-Keep-gtk_misc_set_alignment-working.patch
+
 BuildRequires: gnome-common autoconf automake intltool gettext
 BuildRequires: atk-devel >= %{atk_version}
 BuildRequires: at-spi2-atk-devel
@@ -138,6 +142,8 @@ the functionality of the installed %{name} package.
 
 %prep
 %setup -q -n gtk+-%{version}
+%patch1 -p1
+%patch2 -p1
 
 %build
 
@@ -303,6 +309,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
 %{_datadir}/installed-tests
 
 %changelog
+* Fri May 30 2014 Kalev Lember <kalevlember at gmail.com> - 3.13.2-2
+- Backport two fixes from git master
+
 * Wed May 28 2014 Kalev Lember <kalevlember at gmail.com> - 3.13.2-1
 - Update to 3.13.2
 


More information about the scm-commits mailing list