Backport two bugfixes from upstream

This commit is contained in:
Kalev Lember 2018-09-06 23:53:04 +02:00
parent 2bf5705f6c
commit 9e9fad088b
3 changed files with 87 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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