diff options
-rw-r--r-- | 0001-gtkborder-restore-original-struct-definition.patch | 45 | ||||
-rw-r--r-- | 0002-gdkborder-change-types-from-gint16-to-gint.patch | 31 | ||||
-rw-r--r-- | gtk3.spec | 11 |
3 files changed, 86 insertions, 1 deletions
diff --git a/0001-gtkborder-restore-original-struct-definition.patch b/0001-gtkborder-restore-original-struct-definition.patch new file mode 100644 index 0000000..b4f2708 --- /dev/null +++ b/0001-gtkborder-restore-original-struct-definition.patch @@ -0,0 +1,45 @@ +From 5190d010d95010a845715c719c3b85a75e0c513a Mon Sep 17 00:00:00 2001 +From: William Hua <william.hua@canonical.com> +Date: Thu, 17 Dec 2015 12:18:03 -0500 +Subject: [PATCH 1/2] gtkborder: restore original struct definition + +We're going to add back the original struct definition removed by +a6e4de28, because using the typedef breaks all sorts of things like +gtkmm and WebKit, and having separate struct definitions allows us to +change the types in GdkBorder from gint16s to gints without breaking +ABI. +--- + gtk/gtkborder.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/gtk/gtkborder.h b/gtk/gtkborder.h +index 6df53aa..adfa29e 100644 +--- a/gtk/gtkborder.h ++++ b/gtk/gtkborder.h +@@ -34,6 +34,8 @@ + + G_BEGIN_DECLS + ++typedef struct _GtkBorder GtkBorder; ++ + #define GTK_TYPE_BORDER (gtk_border_get_type ()) + + /** +@@ -46,7 +48,13 @@ G_BEGIN_DECLS + * A struct that specifies a border around a rectangular area + * that can be of different width on each side. + */ +-typedef GdkBorder GtkBorder; ++struct _GtkBorder ++{ ++ gint16 left; ++ gint16 right; ++ gint16 top; ++ gint16 bottom; ++}; + + GDK_AVAILABLE_IN_ALL + GType gtk_border_get_type (void) G_GNUC_CONST; +-- +2.5.0 + diff --git a/0002-gdkborder-change-types-from-gint16-to-gint.patch b/0002-gdkborder-change-types-from-gint16-to-gint.patch new file mode 100644 index 0000000..616b9cd --- /dev/null +++ b/0002-gdkborder-change-types-from-gint16-to-gint.patch @@ -0,0 +1,31 @@ +From 54fa65f544bef281640d18a4a725005f6199a956 Mon Sep 17 00:00:00 2001 +From: William Hua <william.hua@canonical.com> +Date: Thu, 17 Dec 2015 12:38:35 -0500 +Subject: [PATCH 2/2] gdkborder: change types from gint16 to gint + +--- + gdk/gdktypes.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h +index 17584b2..57dc0fe 100644 +--- a/gdk/gdktypes.h ++++ b/gdk/gdktypes.h +@@ -107,10 +107,10 @@ typedef struct _GdkBorder GdkBorder; + */ + struct _GdkBorder + { +- gint16 left; +- gint16 right; +- gint16 top; +- gint16 bottom; ++ gint left; ++ gint right; ++ gint top; ++ gint bottom; + }; + + /** +-- +2.5.0 + @@ -18,7 +18,7 @@ Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X Name: gtk3 Version: 3.19.5 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: System Environment/Libraries URL: http://www.gtk.org @@ -26,6 +26,10 @@ URL: http://www.gtk.org Source: http://download.gnome.org/sources/gtk+/3.19/gtk+-%{version}.tar.xz +# Backported from upstream +Patch0: 0001-gtkborder-restore-original-struct-definition.patch +Patch1: 0002-gdkborder-change-types-from-gint16-to-gint.patch + BuildRequires: gnome-common autoconf automake intltool gettext BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk-bridge-2.0) @@ -167,6 +171,8 @@ the functionality of the installed %{name} package. %prep %setup -q -n gtk+-%{version} +%patch0 -p1 +%patch1 -p1 %build @@ -339,6 +345,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache %{_datadir}/installed-tests %changelog +* Thu Dec 17 2015 Kalev Lember <klember@redhat.com> - 3.19.5-2 +- Fix GtkBorder / GdkBorder struct definitions + * Wed Dec 16 2015 Kalev Lember <klember@redhat.com> - 3.19.5-1 - Update to 3.19.5 |