diff --git a/srcpkgs/at-spi2-core/patches/fix-method-fallback.patch b/srcpkgs/at-spi2-core/patches/fix-method-fallback.patch new file mode 100644 index 00000000000..0f625ab18d6 --- /dev/null +++ b/srcpkgs/at-spi2-core/patches/fix-method-fallback.patch @@ -0,0 +1,43 @@ +From cd6a4902b321eb7c8ab340adbebc14bd8f1e07d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tyrychtr?= +Date: Thu, 27 Mar 2025 14:48:30 +0100 +Subject: [PATCH] device-a11y-manager: Check properly for the DBus backend + presence + +The DBusProxy creation succeds even if the object does not exist. +So, check for the unique name of the object, this will be set only if the +a11y manager actually exists. +--- + atspi/atspi-device-a11y-manager.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/atspi/atspi-device-a11y-manager.c b/atspi/atspi-device-a11y-manager.c +index 1939b3bf..8ecd791c 100644 +--- a/atspi/atspi-device-a11y-manager.c ++++ b/atspi/atspi-device-a11y-manager.c +@@ -528,6 +528,7 @@ AtspiDeviceA11yManager * + atspi_device_a11y_manager_try_new_full (const gchar *app_id) + { + GError *error = NULL; ++ g_autofree gchar *owner = NULL; + GDBusConnection *session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); + GDBusProxy *keyboard_monitor = g_dbus_proxy_new_sync (session_bus, + G_DBUS_PROXY_FLAGS_NONE, +@@ -545,6 +546,14 @@ atspi_device_a11y_manager_try_new_full (const gchar *app_id) + return NULL; + } + ++ owner = g_dbus_proxy_get_name_owner (keyboard_monitor); ++ if (!owner) ++ { ++ g_clear_object (&session_bus); ++ g_clear_object (&keyboard_monitor); ++ return NULL; ++ } ++ + AtspiDeviceA11yManager *device = g_object_new (ATSPI_TYPE_DEVICE_A11Y_MANAGER, + "session-bus", session_bus, + "keyboard-monitor", keyboard_monitor, +-- +GitLab + diff --git a/srcpkgs/at-spi2-core/patches/fix-segv.patch b/srcpkgs/at-spi2-core/patches/fix-segv.patch new file mode 100644 index 00000000000..393c166bdb2 --- /dev/null +++ b/srcpkgs/at-spi2-core/patches/fix-segv.patch @@ -0,0 +1,27 @@ +From 74e0f5863f187fa61587f9dcecb9a9adab56add9 Mon Sep 17 00:00:00 2001 +From: Alessandro Astone +Date: Wed, 26 Mar 2025 17:50:08 +0100 +Subject: [PATCH] atspi-device-a11y-manager: Fix crash on dispose + +grabbed_modifiers is a simple list of integers, we cannot call g_free on the +list items. Fixes SIGSEGV on disposal, as seen in Orca and Mutter 48.0 +--- + atspi/atspi-device-a11y-manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/atspi/atspi-device-a11y-manager.c b/atspi/atspi-device-a11y-manager.c +index 92365d35..1939b3bf 100644 +--- a/atspi/atspi-device-a11y-manager.c ++++ b/atspi/atspi-device-a11y-manager.c +@@ -386,7 +386,7 @@ atspi_device_a11y_manager_dispose (GObject *object) + { + AtspiDeviceA11yManager *device = ATSPI_DEVICE_A11Y_MANAGER (object); + +- g_slist_free_full (device->grabbed_modifiers, g_free); ++ g_slist_free (device->grabbed_modifiers); + g_slist_free_full (device->grabbed_keys, g_free); + g_slist_free_full (device->virtual_modifiers, g_free); + if (device->refresh_timeout_id) +-- +GitLab + diff --git a/srcpkgs/at-spi2-core/template b/srcpkgs/at-spi2-core/template index 784ce06954d..c0950816262 100644 --- a/srcpkgs/at-spi2-core/template +++ b/srcpkgs/at-spi2-core/template @@ -1,7 +1,6 @@ # Template file for 'at-spi2-core' pkgname=at-spi2-core -reverts="2.56.0_1" -version=2.52.0 +version=2.56.0 revision=2 build_style=meson build_helper="gir" @@ -13,10 +12,10 @@ short_desc="Assistive Technology Service Provider Interface" maintainer="Enno Boland " license="GPL-2.0-or-later" homepage="https://gitlab.gnome.org/GNOME/at-spi2-core" -changelog="https://gitlab.gnome.org/GNOME/at-spi2-core/-/raw/gnome-46/NEWS" +changelog="https://gitlab.gnome.org/GNOME/at-spi2-core/-/raw/gnome-48/NEWS" #changelog="https://gitlab.gnome.org/GNOME/at-spi2-core/-/raw/main/NEWS" distfiles="${GNOME_SITE}/at-spi2-core/${version%.*}/at-spi2-core-${version}.tar.xz" -checksum=0ac3fc8320c8d01fa147c272ba7fa03806389c6b03d3c406d0823e30e35ff5ab +checksum=80d7e8ea0be924e045525367f909d6668dfdd3e87cd40792c6cfd08e6b58e95c make_check=no # non-trivial dbus setup # Package build options