summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalev Lember <klember@redhat.com>2018-09-06 23:53:04 +0200
committerKalev Lember <klember@redhat.com>2018-09-06 23:53:04 +0200
commit9e9fad088b81aa375bbdb4286bb869337c692ce2 (patch)
treee75a19853a1e6c2db0f480148606e1f285fb4eaf
parentUpdate to 3.24.0 (diff)
downloadgtk3-classic-build-gtk3-9e9fad088b81aa375bbdb4286bb869337c692ce2.tar.gz
gtk3-classic-build-gtk3-9e9fad088b81aa375bbdb4286bb869337c692ce2.tar.bz2
gtk3-classic-build-gtk3-9e9fad088b81aa375bbdb4286bb869337c692ce2.zip
Backport two bugfixes from upstream
-rw-r--r--0001-Fix-portal-path-handling.patch27
-rw-r--r--0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch49
-rw-r--r--gtk3.spec13
3 files changed, 87 insertions, 2 deletions
diff --git a/0001-Fix-portal-path-handling.patch b/0001-Fix-portal-path-handling.patch
new file mode 100644
index 0000000..0092a1f
--- /dev/null
+++ b/0001-Fix-portal-path-handling.patch
@@ -0,0 +1,27 @@
+From 47122288b82e50b88e3185d960e2ba5ee8a27a36 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Wed, 5 Sep 2018 19:54:32 -0400
+Subject: [PATCH] Fix portal path handling
+
+This was broken when I recently introduced this helper
+function.
+---
+ gtk/gtkprivate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gtk/gtkprivate.c b/gtk/gtkprivate.c
+index 6428347f04..a437047658 100644
+--- a/gtk/gtkprivate.c
++++ b/gtk/gtkprivate.c
+@@ -307,7 +307,7 @@ get_portal_path (GDBusConnection *connection,
+ if (sender[i] == '.')
+ sender[i] = '_';
+
+- path = g_strconcat ("/org/freedesktop/portal/desktop", "/", kind, "/", sender, "/", token, NULL);
++ path = g_strconcat ("/org/freedesktop/portal/desktop", "/", kind, "/", sender, "/", *token, NULL);
+
+ g_free (sender);
+
+--
+2.19.0.rc0
+
diff --git a/0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch b/0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch
new file mode 100644
index 0000000..55c3166
--- /dev/null
+++ b/0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch
@@ -0,0 +1,49 @@
+From 3c7d5e749ccafa75718ef00f1d5f6cdc0defacb3 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Wed, 5 Sep 2018 21:46:28 +0200
+Subject: [PATCH] GtkApplication: Fix CRITICAL on shutdown when
+ register_session=FALSE
+
+---
+ gtk/gtkapplication-dbus.c | 25 ++++++++++++++++---------
+ 1 file changed, 16 insertions(+), 9 deletions(-)
+
+diff --git a/gtk/gtkapplication-dbus.c b/gtk/gtkapplication-dbus.c
+index 25015eb68c..0946edf35c 100644
+--- a/gtk/gtkapplication-dbus.c
++++ b/gtk/gtkapplication-dbus.c
+@@ -826,15 +826,22 @@ gtk_application_impl_dbus_finalize (GObject *object)
+ {
+ GtkApplicationImplDBus *dbus = (GtkApplicationImplDBus *) object;
+
+- g_dbus_connection_call (dbus->session,
+- "org.freedesktop.portal.Desktop",
+- dbus->session_id,
+- "org.freedesktop.portal.Session",
+- "Close",
+- NULL, NULL, 0, -1, NULL, NULL, NULL);
+-
+- g_free (dbus->session_id);
+- g_dbus_connection_signal_unsubscribe (dbus->session, dbus->state_changed_handler);
++ if (dbus->session_id)
++ {
++ g_dbus_connection_call (dbus->session,
++ "org.freedesktop.portal.Desktop",
++ dbus->session_id,
++ "org.freedesktop.portal.Session",
++ "Close",
++ NULL, NULL, 0, -1, NULL, NULL, NULL);
++
++ g_free (dbus->session_id);
++ }
++
++ if (dbus->state_changed_handler)
++ g_dbus_connection_signal_unsubscribe (dbus->session,
++ dbus->state_changed_handler);
++
+ g_clear_object (&dbus->inhibit_proxy);
+ g_slist_free_full (dbus->inhibit_handles, inhibit_handle_free);
+ g_free (dbus->app_menu_path);
+--
+2.19.0.rc0
+
diff --git a/gtk3.spec b/gtk3.spec
index a9ef91f..3e9fcf3 100644
--- a/gtk3.spec
+++ b/gtk3.spec
@@ -21,13 +21,17 @@
Name: gtk3
Version: 3.24.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: GTK+ graphical user interface library
License: LGPLv2+
URL: http://www.gtk.org
Source0: http://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz
+# Backported from upstream
+Patch0: 0001-GtkApplication-Fix-CRITICAL-on-shutdown-when-registe.patch
+Patch1: 0001-Fix-portal-path-handling.patch
+
BuildRequires: pkgconfig(atk) >= %{atk_version}
BuildRequires: pkgconfig(atk-bridge-2.0)
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
@@ -161,7 +165,9 @@ The %{name}-tests package contains tests that can be used to verify
the functionality of the installed %{name} package.
%prep
-%setup -q -n gtk+-%{version}
+%autosetup -n gtk+-%{version} -p1
+# Force regeneration with patch1
+rm testsuite/gtk/gtkprivate.c
%build
export CFLAGS='-fno-strict-aliasing %optflags'
@@ -318,6 +324,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_datadir}/installed-tests
%changelog
+* Thu Sep 06 2018 Kalev Lember <klember@redhat.com> - 3.24.0-2
+- Backport two bugfixes from upstream
+
* Thu Sep 06 2018 Kalev Lember <klember@redhat.com> - 3.24.0-1
- Update to 3.24.0
bgstack15