at-spi2-core: update to 2.56.0, fix method fallback.

This commit is contained in:
oreo639 2025-03-27 15:00:17 -07:00
parent 31876d3c10
commit 0dcb2b449e
3 changed files with 73 additions and 4 deletions

View file

@ -0,0 +1,43 @@
From cd6a4902b321eb7c8ab340adbebc14bd8f1e07d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tyrychtr?= <ltyrycht@redhat.com>
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

View file

@ -0,0 +1,27 @@
From 74e0f5863f187fa61587f9dcecb9a9adab56add9 Mon Sep 17 00:00:00 2001
From: Alessandro Astone <alessandro.astone@canonical.com>
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

View file

@ -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 <gottox@voidlinux.org>"
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