[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