Compare commits
4 Commits
Author | SHA256 | Date | |
---|---|---|---|
417ebee96b | |||
891c39e78d | |||
58d2d14a5c | |||
e06a0e947c |
2
_service
2
_service
@@ -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)
BIN
at-spi2-core-2.56.3.obscpio
(Stored with Git LFS)
Binary file not shown.
3
at-spi2-core-2.56.4.obscpio
Normal file
3
at-spi2-core-2.56.4.obscpio
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:45248d2c00eb8efd7750593058b10c0f86297ec71863d74907ca1a5745350896
|
||||
size 4829196
|
@@ -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
|
||||
|
@@ -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,
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
name: at-spi2-core
|
||||
version: 2.56.3
|
||||
mtime: 1751118276
|
||||
commit: 1c6197ff508a1973462f69f1a77e85de9067e10a
|
||||
version: 2.56.4
|
||||
mtime: 1754089681
|
||||
commit: 7f111fc91751b49bd7fec885035024b401253adb
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user