4 Commits

Author SHA256 Message Date
417ebee96b Accepting request 1297631 from GNOME:Factory
- 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 (forwarded request 1297160 from iznogood)

OBS-URL: https://build.opensuse.org/request/show/1297631
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/at-spi2-core?expand=0&rev=117
2025-08-06 12:32:30 +00:00
891c39e78d - 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

OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/at-spi2-core?expand=0&rev=256
2025-08-05 06:38:26 +00:00
58d2d14a5c Accepting request 1293452 from GNOME:Factory
Fix extra whitespace - DO NOT ACK untill cleared from staging. (forwarded request 1293425 from iznogood)

OBS-URL: https://build.opensuse.org/request/show/1293452
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/at-spi2-core?expand=0&rev=116
2025-07-15 15:07:09 +00:00
e06a0e947c Fix extra whitespace - DO NOT ACK untill cleared from staging.
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/at-spi2-core?expand=0&rev=254
2025-07-15 14:50:02 +00:00
9 changed files with 23 additions and 149 deletions

View File

@@ -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>

BIN
at-spi2-core-2.56.3.obscpio (Stored with Git LFS)

Binary file not shown.

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45248d2c00eb8efd7750593058b10c0f86297ec71863d74907ca1a5745350896
size 4829196

View File

@@ -1,47 +0,0 @@
From 902be91dc466dd566c38850320ce1b6f421e3a03 Mon Sep 17 00:00:00 2001
From: Mike Gorse <mgorse@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

View File

@@ -1,44 +0,0 @@
From: Mike Gorse <mgorse@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,

View File

@@ -1,43 +0,0 @@
From a9fb853fea178875247f0e8615d5714b60b77f8b Mon Sep 17 00:00:00 2001
From: Mike Gorse <mgorse@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

View File

@@ -1,8 +1,21 @@
-------------------------------------------------------------------
Sat Aug 2 12:13:28 UTC 2025 - Bjørn Lie <bjorn.lie@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
-------------------------------------------------------------------
Fri Jul 11 19:40:13 UTC 2025 - Michael Gorse <mgorse@suse.com>
- Add upstream fixes:
+ at-spi2-core-grab-memory-leak.patch
+ 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)

View File

@@ -1,4 +1,4 @@
name: at-spi2-core
version: 2.56.3
mtime: 1751118276
commit: 1c6197ff508a1973462f69f1a77e85de9067e10a
version: 2.56.4
mtime: 1754089681
commit: 7f111fc91751b49bd7fec885035024b401253adb

View File

@@ -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 @@ Group: System/GUI/GNOME
URL: https://www.gnome.org/
Source0: %{name}-%{version}.tar.zst
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM at-spi2-core-grab-memory-leak.patch mgorse@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 mgorse@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 mgorse@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