forked from pool/at-spi2-core
Compare commits
15 Commits
Author | SHA256 | Date | |
---|---|---|---|
d140cb4df6 | |||
6acf999148 | |||
d6d6a0626f | |||
beb17d5179 | |||
aecf00c055 | |||
f615b5d34e | |||
13a6c95077 | |||
6f633ef115 | |||
ee8190df6e | |||
b0a04dc901 | |||
1a4d80cc99 | |||
15f47ba8fa | |||
1e6c053028 | |||
7ff039103d | |||
1462a66362 |
18
_service
Normal file
18
_service
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<services>
|
||||
<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="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
|
||||
<param name="versionrewrite-pattern">(.*)\+0</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
<param name="changesgenerate">disable</param>
|
||||
</service>
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">zst</param>
|
||||
</service>
|
||||
<service name="set_version" mode="manual" />
|
||||
</services>
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0ac3fc8320c8d01fa147c272ba7fa03806389c6b03d3c406d0823e30e35ff5ab
|
||||
size 574684
|
BIN
at-spi2-core-2.56.3.obscpio
(Stored with Git LFS)
Normal file
BIN
at-spi2-core-2.56.3.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
47
at-spi2-core-grab-memory-leak.patch
Normal file
47
at-spi2-core-grab-memory-leak.patch
Normal file
@@ -0,0 +1,47 @@
|
||||
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
|
||||
|
44
at-spi2-core-key-grabs.patch
Normal file
44
at-spi2-core-key-grabs.patch
Normal file
@@ -0,0 +1,44 @@
|
||||
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,
|
43
at-spi2-core-plug-crash.patch
Normal file
43
at-spi2-core-plug-crash.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
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,3 +1,93 @@
|
||||
-------------------------------------------------------------------
|
||||
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-key-grabs.patch (glgo#GNOME/at-spi2-core!193)
|
||||
+ at-spi2-core-plug-crash.patch (glgo#GNOME/at-spi2-core#198)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 29 07:12:03 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.56.3:
|
||||
+ DeviceEventController: update mouse coordinates before sending
|
||||
button events
|
||||
+ atspi-device-legacy: Don't crash when XkbGetMap fails
|
||||
+ Return localized role name for ATSPI_ROLE_EDITBAR
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 28 16:08:51 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.56.2:
|
||||
+ Fix the build with glib < 2.76.
|
||||
+ a11y-manager-device: Fix unmap_keysym_modifier.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 29 08:43:24 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.56.1:
|
||||
+ device-a11y-manager:
|
||||
- Fix crash on dispose
|
||||
- Check properly for the DBus backend presence
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 16 08:48:00 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.56.0:
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 28 21:50:56 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.55.90 (Unstable):
|
||||
+ Support grabbing keyboard shortcuts through the new
|
||||
org.freedesktop.a11y.KeyboardMonitor interface. This allows key
|
||||
grabs to be supported under Wayland with the latest mutter.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 2 09:36:56 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.55.2 (Unstable):
|
||||
+ Attempt to fix a use after free in the atk bridge.
|
||||
+ Add a switch role.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 14 17:36:54 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.55.0.1 (Unstable):
|
||||
+ Fix regression in 2.55.0 where ungrabbing keys did not work
|
||||
reliably.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 11 09:41:46 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.55.0 (Unstable):
|
||||
+ Improve warnings when setting a property.
|
||||
+ Use the appropriate annotations for callbacks.
|
||||
+ device: Support adding grabs given a keysym.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 11 09:33:42 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.54.1:
|
||||
+ Fix various memory leaks.
|
||||
+ Fix the build on FreeBSD.
|
||||
- Switch to source service for tarball.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 15 12:25:10 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.54.0:
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 31 16:56:36 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 2.53.90:
|
||||
+ Make ATSPI_ROLE_PUSH_BUTTON an enum value again.
|
||||
+ atk: Align button role with AT-SPI one.
|
||||
+ Fix warning when atspi_event_quit is called multiple times.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Mar 17 09:22:49 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
|
4
at-spi2-core.obsinfo
Normal file
4
at-spi2-core.obsinfo
Normal file
@@ -0,0 +1,4 @@
|
||||
name: at-spi2-core
|
||||
version: 2.56.3
|
||||
mtime: 1751118276
|
||||
commit: 1c6197ff508a1973462f69f1a77e85de9067e10a
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package at-spi2-core
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -23,15 +23,20 @@
|
||||
%define atspiconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}
|
||||
|
||||
Name: at-spi2-core
|
||||
Version: 2.52.0
|
||||
Version: 2.56.3
|
||||
Release: 0
|
||||
Summary: Assistive Technology Service Provider Interface - D-Bus based implementation
|
||||
License: LGPL-2.1-or-later
|
||||
Group: System/GUI/GNOME
|
||||
URL: https://www.gnome.org/
|
||||
Source0: https://download.gnome.org/sources/at-spi2-core/2.52/%{name}-%{version}.tar.xz
|
||||
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