Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package at-spi2-core for openSUSE:Factory checked in at 2025-07-15 16:41:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/at-spi2-core (Old) and /work/SRC/openSUSE:Factory/.at-spi2-core.new.7373 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "at-spi2-core" Tue Jul 15 16:41:28 2025 rev:115 rq:1292266 version:2.56.3 Changes: -------- --- /work/SRC/openSUSE:Factory/at-spi2-core/at-spi2-core.changes 2025-07-03 12:11:12.367558306 +0200 +++ /work/SRC/openSUSE:Factory/.at-spi2-core.new.7373/at-spi2-core.changes 2025-07-15 16:41:28.630076350 +0200 @@ -1,0 +2,8 @@ +Fri Jul 11 19:40:13 UTC 2025 - Michael Gorse <mgo...@suse.com> + +- Add upstream fixes: + + at-spi2-core-grab-memory-leak.patch + + at-spi2-core-key-grabs.patch (glgo#GNOME/at-spi2-core!193) + + at-spi2-core-plug-crash.patch (glgo#GNOME/at-spi2-core#198) + +------------------------------------------------------------------- New: ---- at-spi2-core-grab-memory-leak.patch at-spi2-core-key-grabs.patch at-spi2-core-plug-crash.patch ----------(New B)---------- New:- Add upstream fixes: + at-spi2-core-grab-memory-leak.patch + at-spi2-core-key-grabs.patch (glgo#GNOME/at-spi2-core!193) New: + at-spi2-core-grab-memory-leak.patch + at-spi2-core-key-grabs.patch (glgo#GNOME/at-spi2-core!193) + at-spi2-core-plug-crash.patch (glgo#GNOME/at-spi2-core#198) New: + at-spi2-core-key-grabs.patch (glgo#GNOME/at-spi2-core!193) + at-spi2-core-plug-crash.patch (glgo#GNOME/at-spi2-core#198) ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ at-spi2-core.spec ++++++ --- /var/tmp/diff_new_pack.bh7j5b/_old 2025-07-15 16:41:29.858127643 +0200 +++ /var/tmp/diff_new_pack.bh7j5b/_new 2025-07-15 16:41:29.862127809 +0200 @@ -31,7 +31,12 @@ URL: https://www.gnome.org/ Source0: %{name}-%{version}.tar.zst Source99: baselibs.conf - +# PATCH-FIX-UPSTREAM at-spi2-core-grab-memory-leak.patch mgo...@suse.com -- fix a memory leak when removing a key grab. +Patch0: at-spi2-core-grab-memory-leak.patch +# PATCH-FIX-UPSTREAM at-spi2-core-key-grabs.patch mgo...@suse.com -- also send grab variants with numlock and caps lock enabled. +Patch1: at-spi2-core-key-grabs.patch +# PATCH-FIX-UPSTREAM at-spi2-core-plug-crash.patch mgo...@suse.com -- don't crash when requesting a plug if not activated. +Patch2: at-spi2-core-plug-crash.patch BuildRequires: fdupes BuildRequires: meson >= 0.63.0 BuildRequires: pkgconfig ++++++ at-spi2-core-grab-memory-leak.patch ++++++ >From 902be91dc466dd566c38850320ce1b6f421e3a03 Mon Sep 17 00:00:00 2001 From: Mike Gorse <mgo...@suse.com> Date: Wed, 9 Jul 2025 08:19:33 -0500 Subject: [PATCH] device: Fix a memory leak when removing a key grab --- atspi/atspi-device-a11y-manager.c | 4 +++- atspi/atspi-device-x11.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/atspi/atspi-device-a11y-manager.c b/atspi/atspi-device-a11y-manager.c index 740f91a4..e590dcb0 100644 --- a/atspi/atspi-device-a11y-manager.c +++ b/atspi/atspi-device-a11y-manager.c @@ -316,9 +316,11 @@ atspi_device_a11y_manager_remove_key_grab (AtspiDevice *device, guint id) manager_device->grabbed_keys = g_slist_remove (manager_device->grabbed_keys, entry); g_free (entry); schedule_refresh_grabs (manager_device); - return; + break; } } + + g_free (kd); } static void diff --git a/atspi/atspi-device-x11.c b/atspi/atspi-device-x11.c index d8fb6c1c..00d5eb58 100644 --- a/atspi/atspi-device-x11.c +++ b/atspi/atspi-device-x11.c @@ -709,9 +709,11 @@ atspi_device_x11_remove_key_grab (AtspiDevice *device, guint id) { disable_key_grab (x11_device, other); priv->key_grabs = g_slist_remove (priv->key_grabs, other); - return; + break; } } + + g_free (kd); } static guint -- 2.50.0 ++++++ at-spi2-core-key-grabs.patch ++++++ From: Mike Gorse <mgo...@suse.com> Subject: device-a11y-manager: Add grabs with numlock and capslock This is the equivalent of applying commits 2be90dac and and 1e1000d5 from the gnome-48 branch. It ensures that requested key grabs remain in effect when num lock or caps lock are enabled. diff -urp at-spi2-core-2.56.3.orig/atspi/atspi-device-a11y-manager.c at-spi2-core-2.56.3/atspi/atspi-device-a11y-manager.c --- at-spi2-core-2.56.3.orig/atspi/atspi-device-a11y-manager.c 2025-07-11 14:28:52.371304458 -0500 +++ at-spi2-core-2.56.3/atspi/atspi-device-a11y-manager.c 2025-07-11 14:28:54.932282887 -0500 @@ -111,6 +111,18 @@ find_insertion_point_for_modifier (Atspi return NULL; } +#define MODIFIER_NUMLOCK (1 << ATSPI_MODIFIER_META) +#define MODIFIER_CAPSLOCK (1 << ATSPI_MODIFIER_SHIFTLOCK) + +static void +add_grab_to_builder (GVariantBuilder *builder, guint32 keysym, guint32 modifiers) +{ + g_variant_builder_open (builder, G_VARIANT_TYPE ("(uu)")); + g_variant_builder_add (builder, "u", keysym); + g_variant_builder_add (builder, "u", modifiers); + g_variant_builder_close (builder); +} + static void refresh_grabs (AtspiDeviceA11yManager *manager_device) { @@ -129,10 +141,10 @@ refresh_grabs (AtspiDeviceA11yManager *m for (l = manager_device->grabbed_keys; l; l = l->next) { AtspiDeviceA11yManagerKey *entry = l->data; - g_variant_builder_open (&builder, G_VARIANT_TYPE ("(uu)")); - g_variant_builder_add (&builder, "u", entry->keysym); - g_variant_builder_add (&builder, "u", entry->modifiers); - g_variant_builder_close (&builder); + add_grab_to_builder (&builder, entry->keysym, entry->modifiers); + add_grab_to_builder (&builder, entry->keysym, entry->modifiers | MODIFIER_NUMLOCK); + add_grab_to_builder (&builder, entry->keysym, entry->modifiers | MODIFIER_CAPSLOCK); + add_grab_to_builder (&builder, entry->keysym, entry->modifiers | MODIFIER_CAPSLOCK | MODIFIER_NUMLOCK); } g_variant_builder_close (&builder); g_dbus_proxy_call_sync (manager_device->keyboard_monitor, ++++++ at-spi2-core-plug-crash.patch ++++++ >From a9fb853fea178875247f0e8615d5714b60b77f8b Mon Sep 17 00:00:00 2001 From: Mike Gorse <mgo...@suse.com> Date: Wed, 9 Jul 2025 16:15:22 -0500 Subject: [PATCH] atk-bridge: Don't crash when requesting a plug if not activated This isn't really a complete fix. The format of the plug string relies on an application's name on the accessibility bus, but, if, for instance, the screen reader is turned off and back on, then it is possible for the accessibility bus to be taken down and later recreated (see #193). We should perhaps construct some sort of well-known name that can be set on the bus, while ensuring that we don't conflict with any other application. But this is a quick fix that is at least an improvement over a crash. Closes #198 --- atk-adaptor/bridge.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c index 4b71128b..a3526406 100644 --- a/atk-adaptor/bridge.c +++ b/atk-adaptor/bridge.c @@ -514,10 +514,14 @@ static AtkSocketClass *socket_class; static gchar * get_plug_id (AtkPlug *plug) { - const char *uname = dbus_bus_get_unique_name (spi_global_app_data->bus); + const char *uname; gchar *path; GString *str = g_string_new (NULL); + if (!spi_global_app_data || !spi_global_app_data->bus) + return NULL; + + uname = dbus_bus_get_unique_name (spi_global_app_data->bus); path = spi_register_object_to_path (spi_global_register, G_OBJECT (plug)); g_string_printf (str, "%s:%s", uname, path); g_free (path); -- 2.50.0