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-08-06 14:32:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/at-spi2-core (Old) and /work/SRC/openSUSE:Factory/.at-spi2-core.new.1085 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "at-spi2-core" Wed Aug 6 14:32:30 2025 rev:117 rq:1297631 version:2.56.4 Changes: -------- --- /work/SRC/openSUSE:Factory/at-spi2-core/at-spi2-core.changes 2025-07-15 17:07:11.222451047 +0200 +++ /work/SRC/openSUSE:Factory/.at-spi2-core.new.1085/at-spi2-core.changes 2025-08-06 14:33:22.868258172 +0200 @@ -1,0 +2,13 @@ +Sat Aug 2 12:13:28 UTC 2025 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 2.56.4: + + Fix key grabs when num lock or caps lock are on under Wayland. + + atk-bridge: Don't crash when requesting a plug if not + activated. + + Add sanity checks for child indices received via DBus. +- Drop patches fixed upstream: + + at-spi2-core-grab-memory-leak.patch + + at-spi2-core-key-grabs.patch + + at-spi2-core-plug-crash.patch + +------------------------------------------------------------------- Old: ---- at-spi2-core-2.56.3.obscpio at-spi2-core-grab-memory-leak.patch at-spi2-core-key-grabs.patch at-spi2-core-plug-crash.patch New: ---- at-spi2-core-2.56.4.obscpio ----------(Old B)---------- Old:- Drop patches fixed upstream: + at-spi2-core-grab-memory-leak.patch + at-spi2-core-key-grabs.patch Old: + at-spi2-core-grab-memory-leak.patch + at-spi2-core-key-grabs.patch + at-spi2-core-plug-crash.patch Old: + at-spi2-core-key-grabs.patch + at-spi2-core-plug-crash.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ at-spi2-core.spec ++++++ --- /var/tmp/diff_new_pack.WFUXub/_old 2025-08-06 14:33:24.188313436 +0200 +++ /var/tmp/diff_new_pack.WFUXub/_new 2025-08-06 14:33:24.188313436 +0200 @@ -23,7 +23,7 @@ %define atspiconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}} Name: at-spi2-core -Version: 2.56.3 +Version: 2.56.4 Release: 0 Summary: Assistive Technology Service Provider Interface - D-Bus based implementation License: LGPL-2.1-or-later @@ -31,12 +31,7 @@ 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 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.WFUXub/_old 2025-08-06 14:33:24.216314608 +0200 +++ /var/tmp/diff_new_pack.WFUXub/_new 2025-08-06 14:33:24.220314776 +0200 @@ -3,7 +3,7 @@ <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://gitlab.gnome.org/GNOME/at-spi2-core.git</param> - <param name="revision">2.56.3</param> + <param name="revision">2.56.4</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ at-spi2-core-2.56.3.obscpio -> at-spi2-core-2.56.4.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.56.3/NEWS new/at-spi2-core-2.56.4/NEWS --- old/at-spi2-core-2.56.3/NEWS 2025-06-28 15:44:36.000000000 +0200 +++ new/at-spi2-core-2.56.4/NEWS 2025-08-02 01:08:01.000000000 +0200 @@ -1,3 +1,11 @@ +What's new in at-spi2-core 2.56.4: + +* Fix key grabs when num lock or caps lock are on under Wayland. + + atk-bridge: Don't crash when requesting a plug if not activated + +* Add sanity checks for child indices received via DBus. + What's new in at-spi2-core 2.56.3: * DeviceEventController: update mouse coordinates before sending button events diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.56.3/atk-adaptor/bridge.c new/at-spi2-core-2.56.4/atk-adaptor/bridge.c --- old/at-spi2-core-2.56.3/atk-adaptor/bridge.c 2025-06-28 15:44:36.000000000 +0200 +++ new/at-spi2-core-2.56.4/atk-adaptor/bridge.c 2025-08-02 01:08:01.000000000 +0200 @@ -514,10 +514,14 @@ 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); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.56.3/atspi/atspi-accessible.c new/at-spi2-core-2.56.4/atspi/atspi-accessible.c --- old/at-spi2-core-2.56.3/atspi/atspi-accessible.c 2025-06-28 15:44:36.000000000 +0200 +++ new/at-spi2-core-2.56.4/atspi/atspi-accessible.c 2025-08-02 01:08:01.000000000 +0200 @@ -494,6 +494,7 @@ DBusMessage *reply; g_return_val_if_fail (obj != NULL, NULL); + g_return_val_if_fail (child_index >= 0, NULL); if (_atspi_accessible_test_cache (obj, ATSPI_CACHE_CHILDREN)) { @@ -515,7 +516,7 @@ if (!child) return NULL; - if (_atspi_accessible_test_cache (obj, ATSPI_CACHE_CHILDREN)) + if (_atspi_accessible_test_cache (obj, ATSPI_CACHE_CHILDREN) && child_index < 65536) { if (child_index >= obj->children->len) g_ptr_array_set_size (obj->children, child_index + 1); @@ -884,15 +885,21 @@ atspi_accessible_get_toolkit_name (AtspiAccessible *obj, GError **error) { g_return_val_if_fail (obj != NULL, NULL); + gchar *toolkit_name = NULL; if (!obj->parent.app) return NULL; - if (!obj->parent.app->toolkit_name) - _atspi_dbus_get_property (obj, atspi_interface_application, "ToolkitName", - error, "s", &obj->parent.app->toolkit_name); + if (obj->parent.app->toolkit_name) + return g_strdup (obj->parent.app->toolkit_name); + + _atspi_dbus_get_property (obj, atspi_interface_application, "ToolkitName", + error, "s", &toolkit_name); - return g_strdup (obj->parent.app->toolkit_name); + if (obj->parent.app) + obj->parent.app->toolkit_name = g_strdup (toolkit_name); + + return toolkit_name; } /** @@ -908,15 +915,21 @@ atspi_accessible_get_toolkit_version (AtspiAccessible *obj, GError **error) { g_return_val_if_fail (obj != NULL, NULL); + gchar *toolkit_version = NULL; if (!obj->parent.app) return NULL; - if (!obj->parent.app->toolkit_version) - _atspi_dbus_get_property (obj, atspi_interface_application, "Version", - error, "s", &obj->parent.app->toolkit_version); + if (obj->parent.app->toolkit_version) + return g_strdup (obj->parent.app->toolkit_version); + + _atspi_dbus_get_property (obj, atspi_interface_application, "Version", + error, "s", &toolkit_version); - return g_strdup (obj->parent.app->toolkit_version); + if (obj->parent.app) + obj->parent.app->toolkit_version = g_strdup (toolkit_version); + + return toolkit_version; } /** @@ -933,15 +946,21 @@ atspi_accessible_get_atspi_version (AtspiAccessible *obj, GError **error) { g_return_val_if_fail (obj != NULL, NULL); + gchar *atspi_version = NULL; if (!obj->parent.app) return NULL; - if (!obj->parent.app->atspi_version) - _atspi_dbus_get_property (obj, atspi_interface_application, "AtspiVersion", - error, "s", &obj->parent.app->atspi_version); + if (obj->parent.app->atspi_version) + return g_strdup (obj->parent.app->atspi_version); + + _atspi_dbus_get_property (obj, atspi_interface_application, "AtspiVersion", + error, "s", &atspi_version); + + if (obj->parent.app) + obj->parent.app->atspi_version = g_strdup (atspi_version); - return g_strdup (obj->parent.app->atspi_version); + return atspi_version; } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.56.3/atspi/atspi-device-a11y-manager.c new/at-spi2-core-2.56.4/atspi/atspi-device-a11y-manager.c --- old/at-spi2-core-2.56.3/atspi/atspi-device-a11y-manager.c 2025-06-28 15:44:36.000000000 +0200 +++ new/at-spi2-core-2.56.4/atspi/atspi-device-a11y-manager.c 2025-08-02 01:08:01.000000000 +0200 @@ -111,6 +111,18 @@ 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 @@ 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, @@ -316,9 +328,11 @@ 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.56.3/atspi/atspi-device-x11.c new/at-spi2-core-2.56.4/atspi/atspi-device-x11.c --- old/at-spi2-core-2.56.3/atspi/atspi-device-x11.c 2025-06-28 15:44:36.000000000 +0200 +++ new/at-spi2-core-2.56.4/atspi/atspi-device-x11.c 2025-08-02 01:08:01.000000000 +0200 @@ -709,9 +709,11 @@ { disable_key_grab (x11_device, other); priv->key_grabs = g_slist_remove (priv->key_grabs, other); - return; + break; } } + + g_free (kd); } static guint diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.56.3/atspi/atspi-misc.c new/at-spi2-core-2.56.4/atspi/atspi-misc.c --- old/at-spi2-core-2.56.3/atspi/atspi-misc.c 2025-06-28 15:44:36.000000000 +0200 +++ new/at-spi2-core-2.56.4/atspi/atspi-misc.c 2025-08-02 01:08:01.000000000 +0200 @@ -617,7 +617,7 @@ { /* Get index in parent */ dbus_message_iter_get_basic (&iter_struct, &index); - if (index >= 0 && accessible->accessible_parent) + if (index >= 0 && index < 65536 && accessible->accessible_parent) { AtspiAccessible *old_child = NULL; if (index >= accessible->accessible_parent->children->len) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.56.3/meson.build new/at-spi2-core-2.56.4/meson.build --- old/at-spi2-core-2.56.3/meson.build 2025-06-28 15:44:36.000000000 +0200 +++ new/at-spi2-core-2.56.4/meson.build 2025-08-02 01:08:01.000000000 +0200 @@ -1,5 +1,5 @@ project('at-spi2-core', 'c', - version: '2.56.3', + version: '2.56.4', license: 'LGPLv2.1+', default_options: [ 'buildtype=debugoptimized', ++++++ at-spi2-core.obsinfo ++++++ --- /var/tmp/diff_new_pack.WFUXub/_old 2025-08-06 14:33:24.540328173 +0200 +++ /var/tmp/diff_new_pack.WFUXub/_new 2025-08-06 14:33:24.544328340 +0200 @@ -1,5 +1,5 @@ name: at-spi2-core -version: 2.56.3 -mtime: 1751118276 -commit: 1c6197ff508a1973462f69f1a77e85de9067e10a +version: 2.56.4 +mtime: 1754089681 +commit: 7f111fc91751b49bd7fec885035024b401253adb