Skip to content

Commit ee75498

Browse files
feat: update at-spi2-core to 2.59.1-2
1 parent 3df8fff commit ee75498

File tree

297 files changed

+29405
-21158
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

297 files changed

+29405
-21158
lines changed

.gitlab-ci.yml

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
# Include the parameters we need from Freedesktop CI Templates
1010
include:
1111
- local: 'ci/container_builds.yml'
12+
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
13+
inputs:
14+
dist-job-name: "opensuse-distcheck"
15+
tarball-artifact-path: "_build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz"
1216

1317
# Stages in the CI pipeline in which jobs will be run
1418
stages:
@@ -18,6 +22,7 @@ stages:
1822
- analysis
1923
- docs
2024
- deploy
25+
- release
2126

2227
# Enable merge request pipelines and avoid duplicate pipelines
2328
# https://docs.gitlab.com/ee/ci/yaml/index.html#switch-between-branch-pipelines-and-merge-request-pipelines
@@ -51,8 +56,8 @@ opensuse-x86_64:
5156
variables:
5257
MESON_EXTRA_FLAGS: "--buildtype=debug" # -Dwerror=true
5358
script:
54-
# See https://gitlab.gnome.org/GNOME/at-spi2-core/-/merge_requests/137 for the reason for disable_p2p
55-
- meson setup ${MESON_EXTRA_FLAGS} -Ddisable_p2p=true --prefix /usr _build .
59+
- source ci/env.sh
60+
- meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
5661
- meson compile -C _build
5762
- meson install -C _build
5863
- mkdir /tmp/test+dir+with+funny+chars
@@ -90,6 +95,29 @@ fedora-x86_64:
9095
paths:
9196
- "_build/meson-logs"
9297

98+
opensuse-distcheck:
99+
stage: build
100+
extends:
101+
- '.container.opensuse@x86_64'
102+
- '.fdo.distribution-image@opensuse'
103+
needs: ['opensuse-container@x86_64']
104+
variables:
105+
MESON_EXTRA_FLAGS: "--buildtype=debug" # -Dwerror=true
106+
script:
107+
- source ci/env.sh
108+
- git config --global --add safe.directory $CI_PROJECT_DIR
109+
- meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
110+
- meson compile -C _build
111+
- meson install -C _build
112+
- mkdir /tmp/test+dir+with+funny+chars
113+
- export XDG_RUNTIME_DIR=/tmp/test+dir+with+funny+chars # See https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/48
114+
- xvfb-run --auto-servernum dbus-run-session -- ci/run-registryd-tests.sh
115+
- xvfb-run --auto-servernum dbus-run-session -- ci/run-tests.sh
116+
- meson dist -C _build --no-tests
117+
artifacts:
118+
paths:
119+
- "_build/meson-dist/*.xz"
120+
93121
# Run static analysis on the code.
94122
#
95123
# The logs are part of the compilation stderr.
@@ -125,6 +153,7 @@ asan-build:
125153
# https://gitlab.freedesktop.org/dbus/dbus/-/issues/326
126154
LSAN_OPTIONS: "suppressions=${CI_PROJECT_DIR}/ci/address-sanitizer.supp"
127155
script:
156+
- source ci/env.sh
128157
- CC=clang meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
129158
- meson compile -C _build
130159
- meson install -C _build
@@ -150,8 +179,7 @@ coverage:
150179
CFLAGS: "-coverage -ftest-coverage -fprofile-arcs"
151180
script:
152181
- source ./ci/env.sh
153-
# See https://gitlab.gnome.org/GNOME/at-spi2-core/-/merge_requests/137 for the reason for disable_p2p
154-
- meson setup ${MESON_EXTRA_FLAGS} -Ddisable_p2p=true --prefix /usr _build .
182+
- meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
155183
- meson compile -C _build
156184
- meson install -C _build
157185
- xvfb-run --auto-servernum dbus-run-session -- ci/run-registryd-tests.sh
@@ -185,6 +213,7 @@ reference:
185213
variables:
186214
MESON_EXTRA_FLAGS: "--buildtype=release -Ddocs=true"
187215
script:
216+
- source ci/env.sh
188217
- meson setup ${MESON_EXTRA_FLAGS} --prefix /usr _build .
189218
- ninja -C _build doc/atk doc/libatspi devel-docs/html
190219
- mkdir _reference

NEWS

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,207 @@
1+
What's new in at-spi2-core 2.59.1:
2+
3+
* Added a build option to link against dbus-glib, rather than using the
4+
internal fork for the main loop integration code.
5+
6+
* Add ATSPI_MODIFIER_SUPER as an alias for META3.
7+
8+
* Various documentation fixes.
9+
10+
What's new in at-spi2-core 2.59.0:
11+
12+
meson: Use dbus-broker by default.
13+
14+
Document the remaining DBus interfaces.
15+
16+
What's new in at-spi2-core 2.58.3:
17+
18+
* Fix atk_get_major_version etc not linking on C++.
19+
20+
What's new in at-spi2-core 2.58.2:
21+
22+
* python: Speed up __eq__ and __ne__
23+
24+
* collection-adaptor: Correct 'child' reference handling (fixes crashes
25+
with evolution and orca).
26+
27+
* Fix several memory leaks.
28+
29+
What's new in at-spi2-core 2.58.1:
30+
31+
* at-spi-bus-launcher: Fix a possible crash when registering.
32+
33+
* python: Avoid traceback when hashing a disposed object
34+
35+
* Fix build failure on MacOS.
36+
37+
* Fix transfer rule for atk_table_cell_get_table and atk_table_get_summary.
38+
39+
What's new in at-spi2-core 2.58.0:
40+
41+
* libatspi: Increase ATSPI_ROLE_COUNT after switch role was added
42+
43+
* Add ATSPI_CHECK_VERSION macro.
44+
45+
* Properly fix key notifications under X11 when multiple keyboard layouts
46+
are in use.
47+
48+
What's new in at-spi2-core 2.57.2:
49+
50+
* Don't install at-spi-dbus-bus.service if systemd is not enabled.
51+
52+
* Some collection fixes and documentation improvements.
53+
54+
* Fix reporting the wrong keysym on X11 setups where multiple keyboard
55+
layouts are in use.
56+
57+
* Fix possible memory leak in atspi_accessible_get_description.
58+
59+
What's new in at-spi2-core 2.57.1:
60+
61+
* Fix several crashes introduced by the code to handle the accessibility
62+
bus going away.
63+
64+
* Add atspi_device_clear_key_grabs.
65+
66+
* Fix key grabs when num lock or caps lock are on under Wayland.
67+
68+
atk-bridge: Don't crash when requesting a plug if not activated
69+
70+
* Have python overrides check DBus object paths when testing for equality.
71+
72+
* Add sanity checks for child indices received via DBus.
73+
74+
What's new in at-spi2-core 2.57.0:
75+
76+
* device-a11y-manager: Fix crash on dispose
77+
78+
* device-a11y-manager: Check properly for the DBus backend presence
79+
80+
* Fix the build with glib < 2.76.
81+
82+
* a11y-manager-device: Fix unmap_keysym_modifier.
83+
84+
* DeviceEventController: update mouse coordinates before sending button events
85+
86+
* atspi-device-legacy: Don't crash when XkbGetMap fails
87+
88+
* Return localized role name for ATSPI_ROLE_EDITBAR
89+
90+
atk-adaptor: Reconnect when the bus launcher reappears.
91+
92+
* Don't keep references to uncached objects in the application's hash table.
93+
94+
* Add some Python overrides.
95+
96+
AtspiDeviceX11: Suppress window events following key grabs when needed.
97+
98+
What's new in at-spi2-core 2.56.0:
99+
100+
* Updated translations.
101+
102+
What's new in at-spi2-core 2.55.90:
103+
104+
* Support grabbing keyboard shortcuts through the new
105+
org.freedesktop.a11y.KeyboardMonitor interface. This allows key grabs to
106+
be supported under Wayland with the latest mutter.
107+
108+
What's new in at-spi2-core 2.55.2:
109+
110+
* Attempt to fix a use after free in the atk bridge.
111+
112+
* Add a switch role.
113+
114+
What's new in at-spi2-core 2.55.0.1:
115+
116+
* Fix regression in 2.55.0 where ungrabbing keys did not work reliably.
117+
118+
What's new in at-spi2-core 2.55.0:
119+
120+
* Fix various memory leaks.
121+
122+
* Fix the build on FreeBSD.
123+
124+
* Improve warnings when setting a property.
125+
126+
* Use the appropriate annotations for callbacks.
127+
128+
* device: Support adding grabs given a keysym.
129+
130+
What's new in at-spi2-core 2.53.90:
131+
132+
* Make ATSPI_ROLE_PUSH_BUTTON an enum value again.
133+
134+
* atk: Align button role with AT-SPI one.
135+
136+
* Fix warning when atspi_event_quit is called multiple times.
137+
138+
What's new in at-spi2-core 2.53.1:
139+
140+
* tests: Clean up test application on SIGABRT/SIGSEGV.
141+
142+
* Set (allow-none) for nullable parameters to atspi_match_rule_new.
143+
144+
* collection: Allow specifying specific action names in match rules.
145+
146+
atk-adaptor: Fix duplicated results in GetMatchesFrom.
147+
148+
* atk-adaptor: For collections, don't return objects with 0 actions as
149+
supporting AtkAction.
150+
151+
* Rename ATSPI_ROLE_PUSH_BUTTON to ATSPI_ROLE_BUTTON.
152+
153+
What's new in at-spi2-core 2.53.0:
154+
155+
Add missing prototypes for functions to check the presence of interfaces.
156+
157+
* Replace disable_p2p with an ATSPI_DISABLE_P2P environment variable.
158+
159+
* Drop use of deprecated eaves-dropping option in dbus configuration
160+
161+
atk-adaptor: Limit amount of children to return for GetChildren
162+
163+
* Notify about HelpText attribute change.
164+
165+
* Fix possible double unref in add_accessible_from_iter.
166+
167+
What's new in at-spi2-core 2.52.0:
168+
169+
* tests: Fix missing declaration for getpid().
170+
171+
What's new in at-spi2-core 2.51.90:
172+
173+
* Back out code to generate mouse events on mutter. It had a couple of
174+
unwanted side effects. Also remove dependencies on libei and xkbcommon.
175+
176+
* atk-adaptor: Fix collection role matching.
177+
178+
* Have atspi_text_get_string_at_offset fall back to calling
179+
GetTextAtOffset if GetStringAtOffset is unimplemented.
180+
181+
* Don't use g_assert in the unit tests.
182+
183+
What's new in at-spi2-core 2.51.91:
184+
185+
Add an attribute-changed signal in atk, and update libatspi attribute cache.
186+
187+
* Add GetTextSelection and SetTextSelection to Document interface.
188+
189+
* Add atspi_device_generate_mouse_event, and implement for mutter.
190+
191+
* Have atspi_device_add_key_grab return 0 if XIGrabKeycode fails.
192+
193+
* xml: Add Embedded to the Socket interface
194+
195+
* Don't return uninitialized values if atspi_component_get_size/position fail.
196+
197+
What's new in at-spi2-core 2.51.0:
198+
199+
* atk-adaptor: Fix critical when no table cell array is returned.
200+
201+
* accessible: Do not rename deprecated methods to the new names.
202+
203+
* Add HelpText property and corresponding functions in atk and libatspi.
204+
1205
What's new in at-spi2-core 2.50.0:
2206

3207
* Fix at-spi2-atk test when running under a non-English locale.

at-spi2-core.doap

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,4 @@ communication to allow accessibility-oriented software to operate.
6767
</foaf:Person>
6868
</maintainer>
6969

70-
<!-- Marge-bot to automatically handle merge requests with successful pipelines -->
71-
72-
<maintainer>
73-
<foaf:Person>
74-
<foaf:name>Marge Bot</foaf:name>
75-
<gnome:userid>marge-bot</gnome:userid>
76-
</foaf:Person>
77-
</maintainer>
78-
7970
</Project>

atk-adaptor/accessible-cache.c

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,20 @@ spi_cache_init (SpiCache *cache)
133133
(GCallback) toplevel_added_listener, NULL);
134134
}
135135

136+
static void
137+
cache_weak_ref (gpointer data, GObject *gobj)
138+
{
139+
SpiCache *cache = SPI_CACHE (data);
140+
141+
g_hash_table_remove (cache->objects, gobj);
142+
}
143+
144+
static void
145+
spi_cache_remove_weak_ref (gpointer key, gpointer val, gpointer cache)
146+
{
147+
g_object_weak_unref (key, cache_weak_ref, cache);
148+
}
149+
136150
static void
137151
spi_cache_finalize (GObject *object)
138152
{
@@ -141,6 +155,7 @@ spi_cache_finalize (GObject *object)
141155
while (!g_queue_is_empty (cache->add_traversal))
142156
g_object_unref (G_OBJECT (g_queue_pop_head (cache->add_traversal)));
143157
g_queue_free (cache->add_traversal);
158+
g_hash_table_foreach (cache->objects, spi_cache_remove_weak_ref, cache);
144159
g_hash_table_unref (cache->objects);
145160

146161
g_signal_handlers_disconnect_by_func (spi_global_register,
@@ -169,6 +184,7 @@ remove_object (GObject *source, GObject *gobj, gpointer data)
169184
spi_register_object_to_path (spi_global_register, gobj));
170185
#endif
171186
g_signal_emit (cache, cache_signals[OBJECT_REMOVED], 0, gobj);
187+
g_object_weak_unref (G_OBJECT (gobj), cache_weak_ref, cache);
172188
g_hash_table_remove (cache->objects, gobj);
173189
}
174190
else if (g_queue_remove (cache->add_traversal, gobj))
@@ -183,6 +199,7 @@ add_object (SpiCache *cache, GObject *gobj)
183199
g_return_if_fail (G_IS_OBJECT (gobj));
184200

185201
g_hash_table_insert (cache->objects, gobj, NULL);
202+
g_object_weak_ref (G_OBJECT (gobj), cache_weak_ref, cache);
186203

187204
#ifdef SPI_ATK_DEBUG
188205
g_debug ("CACHE ADD - %s - %d - %s\n", atk_object_get_name (ATK_OBJECT (gobj)),
@@ -303,10 +320,6 @@ add_pending_items (gpointer data)
303320
{
304321
current = g_queue_pop_head (to_add);
305322

306-
/* Make sure object is registerd so we are notified if it goes away */
307-
g_free (spi_register_object_to_path (spi_global_register,
308-
G_OBJECT (current)));
309-
310323
add_object (cache, G_OBJECT (current));
311324
g_object_unref (G_OBJECT (current));
312325
}

atk-adaptor/accessible-cache.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@
2020
* Boston, MA 02110-1301, USA.
2121
*/
2222

23-
#ifndef ACCESSIBLE_CACHE_H
24-
#define ACCESSIBLE_CACHE_H
23+
#pragma once
2524

2625
#include <glib-object.h>
2726
#include <glib.h>
@@ -64,4 +63,3 @@ gboolean
6463
spi_cache_in (SpiCache *cache, GObject *object);
6564

6665
G_END_DECLS
67-
#endif /* ACCESSIBLE_CACHE_H */

0 commit comments

Comments
 (0)