diff --git a/792.patch b/792.patch new file mode 100644 index 0000000..7413e6a --- /dev/null +++ b/792.patch @@ -0,0 +1,39 @@ +From 260cb066811d2d806600030ff1c9ca53bc1880c2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Guido=20G=C3=BCnther?= +Date: Fri, 26 Nov 2021 09:54:04 +0100 +Subject: [PATCH] swipe-tracker: Guard all swipeable access with NULL + +This avoids a + + GLib-GObject-FATAL-CRITICAL: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed + +when the weak ref is already gone. +--- + src/hdy-swipe-tracker.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/hdy-swipe-tracker.c b/src/hdy-swipe-tracker.c +index 03b41781..ba01bd05 100644 +--- a/src/hdy-swipe-tracker.c ++++ b/src/hdy-swipe-tracker.c +@@ -944,14 +944,14 @@ hdy_swipe_tracker_dispose (GObject *object) + { + HdySwipeTracker *self = HDY_SWIPE_TRACKER (object); + +- if (self->swipeable) ++ if (self->swipeable) { + gtk_grab_remove (GTK_WIDGET (self->swipeable)); ++ g_object_set_data (G_OBJECT (self->swipeable), "captured-event-handler", NULL); ++ } + + if (self->touch_gesture) + g_signal_handlers_disconnect_by_data (self->touch_gesture, self); + +- g_object_set_data (G_OBJECT (self->swipeable), "captured-event-handler", NULL); +- + g_clear_pointer (&self->event_history, g_array_unref); + g_clear_object (&self->touch_gesture); + set_swipeable (self, NULL); +-- +GitLab + diff --git a/libhandy.spec b/libhandy.spec index 76d4004..0b47e8d 100644 --- a/libhandy.spec +++ b/libhandy.spec @@ -1,12 +1,15 @@ Name: libhandy Version: 1.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Building blocks for modern adaptive GNOME apps License: LGPLv2+ URL: https://gitlab.gnome.org/GNOME/libhandy %global majmin %(echo %{version} | cut -d . -f -2) Source0: https://download.gnome.org/sources/libhandy/%{majmin}/libhandy-%{version}.tar.xz +# Backported from upstream +# https://gitlab.gnome.org/GNOME/libhandy/-/merge_requests/792 +Patch0: 792.patch BuildRequires: gcc BuildRequires: gtk-doc @@ -93,6 +96,9 @@ developing applications that use %{name}. %changelog +* Sat Dec 11 2021 Kalev Lember - 1.5.0-2 +- Backport an upstream patch to fix swipe-tracker criticals + * Sat Nov 13 2021 Kalev Lember - 1.5.0-1 - Update to 1.5.0