Hello community, here is the log from the commit of package at-spi2-core for openSUSE:Factory checked in at 2020-11-19 11:54:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/at-spi2-core (Old) and /work/SRC/openSUSE:Factory/.at-spi2-core.new.5913 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "at-spi2-core" Thu Nov 19 11:54:06 2020 rev:88 rq:847169 version:2.38.0 Changes: -------- --- /work/SRC/openSUSE:Factory/at-spi2-core/at-spi2-core.changes 2020-09-25 16:27:29.539675569 +0200 +++ /work/SRC/openSUSE:Factory/.at-spi2-core.new.5913/at-spi2-core.changes 2020-11-23 10:21:51.976778542 +0100 @@ -1,0 +2,37 @@ +Tue Sep 22 02:38:00 UTC 2020 - [email protected] + +- Update to version 2.38.0: + + Updated translations. + +------------------------------------------------------------------- +Tue Sep 22 02:37:52 UTC 2020 - [email protected] + +- Update to version 2.37.92: + + Fix a possible memory leak if an event name cannot be parsed. + + _atspi_dbus_set_interfaces: fix memory leak when called with an + invalid DBus signature. + + Fix a crash if an event listener is removed during an event + callback. + +------------------------------------------------------------------- +Tue Sep 22 02:37:50 UTC 2020 - [email protected] + +- Update to version 2.37.90: + + Add a mode-changed signal to allow a screen reader to indicate + that its mode has changed. + + Fix use after free when a device listener is destroyed. + + Meson: de-duplicate deps of 'Requires' in pkgconfig file. + + FIx use after free when an event listener is destroyed. + + Make at-spi-dbus-bus.desktop validate. + + atspi_accessible_set_cache_mask: relax assert that was + generating a warning and causing the function to fail in some + cases. + + Fixes for synthesizing keys. + + Fix Qt annotations in DBus xml files. + + Memory test: replace gedit with a light-weight test + application. + + dbtest: print to stdout instead of stderr. + + Tests: make test a bit verbose. + + Constants: fix typos in two _COUNT constants. + +------------------------------------------------------------------- Old: ---- at-spi2-core-2.36.1.tar.xz New: ---- at-spi2-core-2.38.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ at-spi2-core.spec ++++++ --- /var/tmp/diff_new_pack.B2a6Q3/_old 2020-11-23 10:21:52.464779093 +0100 +++ /var/tmp/diff_new_pack.B2a6Q3/_new 2020-11-23 10:21:52.464779093 +0100 @@ -17,15 +17,17 @@ Name: at-spi2-core -Version: 2.36.1 +Version: 2.38.0 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.36/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/at-spi2-core/2.38/%{name}-%{version}.tar.xz Source99: baselibs.conf + BuildRequires: gtk-doc -BuildRequires: meson >= 0.40.1 +BuildRequires: meson >= 0.46.0 BuildRequires: pkgconfig BuildRequires: pkgconfig(dbus-1) >= 1.0 BuildRequires: pkgconfig(gio-2.0) >= 2.28 @@ -49,6 +51,7 @@ %package -n libatspi0 Summary: Assistive Technology Service Provider Interface +Group: System/Libraries %description -n libatspi0 AT-SPI is a general interface for applications to make use of the @@ -56,6 +59,7 @@ %package -n typelib-1_0-Atspi-2_0 Summary: Introspection bindings for the Assistive Technology Service Provider Interface +Group: System/Libraries %description -n typelib-1_0-Atspi-2_0 AT-SPI is a general interface for applications to make use of the @@ -66,6 +70,7 @@ %package devel Summary: Development files for the Assistive Technology Service Provider Interface +Group: Development/Libraries/GNOME Requires: at-spi2-core = %{version} Requires: libatspi0 = %{version} Requires: typelib-1_0-Atspi-2_0 = %{version} ++++++ at-spi2-core-2.36.1.tar.xz -> at-spi2-core-2.38.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/NEWS new/at-spi2-core-2.38.0/NEWS --- old/at-spi2-core-2.36.1/NEWS 2020-09-05 01:56:27.960104700 +0200 +++ new/at-spi2-core-2.38.0/NEWS 2020-09-12 21:22:56.189964300 +0200 @@ -1,21 +1,41 @@ -What's new in at-spi2-core 2.36.1: +What's new in at-spi2-core 2.37.92: -* meson: De-duplicate deps of 'Requires' in pkgconfig file - -* Make at-spi-dbus-bus.desktop Validate - -* Fix ucs2keysym line for Euro sign - -* Fix Qt annotations in DBus xml files - -* constants: Fix typos in two _COUNT constants +* Fix a possible memory leak if an event name cannot be parsed. -* Fix a couple of memory leaks. +* _atspi_dbus_set_interfaces: fix memory leak when called with an invalid + DBus signature. -* Fix use after free when a device listener is destroyed. +* Fix a crash if an event listener is removed during an event callback. + + +What's new in at-spi2-core 2.37.90: + +* Add a mode-changed signal to allow a screen reader to indicate + that its mode has changed. + +* Fix use after free when a device listener is destroyed (#22). + +* Meson: de-duplicate deps of 'Requires' in pkgconfig file (!28). * Fix use after free when an event listener is destroyed. +* Make at-spi-dbus-bus.desktop validate (!30). + +* atspi_accessible_set_cache_mask: relax assert that was generating a + warning and causing the function to fail in some cases. + +* Fixes for synthesizing keys. + +* Fix Qt annotations in DBus xml files. + +* Memory test: replace gedit with a light-weight test application. + +* dbtest: print to stdout instead of stderr. + +* Tests: make test a bit verbose. + +* Constants: fix typos in two _COUNT constants. + What's new in at-spi2-core 2.35.92: * bus-launcher: make session management more robust. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/atspi/atspi-accessible.c new/at-spi2-core-2.38.0/atspi/atspi-accessible.c --- old/at-spi2-core-2.36.1/atspi/atspi-accessible.c 2020-09-05 01:56:27.960104700 +0200 +++ new/at-spi2-core-2.38.0/atspi/atspi-accessible.c 2020-09-12 21:22:56.189964300 +0200 @@ -28,6 +28,7 @@ enum { REGION_CHANGED, + MODE_CHANGED, LAST_SIGNAL }; @@ -48,21 +49,28 @@ const char *name; DBusMessage *signal; DBusMessageIter iter, iter_struct, iter_variant, iter_array; - dbus_int32_t detail1, detail2; + dbus_int32_t detail1 = 0, detail2 = 0; const char *detail = ""; + gchar *dbus_name; object = g_value_get_object (param_values + 0); g_return_val_if_fail (ATSPI_IS_ACCESSIBLE(object), FALSE); g_signal_query (signal_hint->signal_id, &signal_query); name = signal_query.signal_name; - detail1 = g_value_get_int (param_values + 1); - detail2 = g_value_get_int (param_values + 2); + if (signal_hint->detail) + detail = g_quark_to_string (signal_hint->detail); + if (n_param_values > 1) + detail1 = g_value_get_int (param_values + 1); + if (n_param_values > 2 && G_VALUE_HOLDS_INT (param_values + 2)) + detail2 = g_value_get_int (param_values + 2); accessible = ATSPI_ACCESSIBLE (object); + dbus_name = _atspi_strdup_and_adjust_for_dbus (name); signal = dbus_message_new_signal (ATSPI_DBUS_PATH_SCREEN_READER, ATSPI_DBUS_INTERFACE_EVENT_SCREEN_READER, - "RegionChanged"); + dbus_name); + g_free (dbus_name); dbus_message_iter_init_append (signal, &iter); dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &detail); dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &detail1); @@ -287,9 +295,36 @@ G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); + /** + * AtspiAccessible::mode-changed: + * @atspiaccessible: the object which received the signal + * @arg1: a boolean specifying whether the mode is being toggled on or off. + * @why: an optional string explaining why the mode changed. + * + * The signal "mode-changed" is emitted by a screen reader to indicate + * that its mode has changed. This signal supports the following details: + * focus-tracking + * flat-review + * mouse-review + * say-all + * caret-tracking + */ + atspi_accessible_signals[MODE_CHANGED] = + g_signal_new ("mode_changed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, + G_STRUCT_OFFSET (AtspiAccessibleClass, mode_changed), + NULL, NULL, + atspi_marshal_VOID__INT_STRING, + G_TYPE_NONE, + 2, G_TYPE_INT, G_TYPE_STRING); + g_signal_add_emission_hook (atspi_accessible_signals[REGION_CHANGED], 0, screen_reader_signal_watcher, NULL, (GDestroyNotify) NULL); + g_signal_add_emission_hook (atspi_accessible_signals[MODE_CHANGED], 0, + screen_reader_signal_watcher, NULL, + (GDestroyNotify) NULL); } /** @@ -1706,7 +1741,7 @@ { g_return_if_fail (accessible != NULL); g_return_if_fail (accessible->parent.app != NULL); - g_return_if_fail (accessible == accessible->parent.app->root); + g_return_if_fail (accessible == accessible->parent.app->root || accessible->role == ATSPI_ROLE_APPLICATION); accessible->parent.app->cache = mask; enable_caching = TRUE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/atspi/atspi-accessible.h new/at-spi2-core-2.38.0/atspi/atspi-accessible.h --- old/at-spi2-core-2.36.1/atspi/atspi-accessible.h 2020-09-05 01:56:27.960104700 +0200 +++ new/at-spi2-core-2.38.0/atspi/atspi-accessible.h 2020-09-12 21:22:56.189964300 +0200 @@ -66,6 +66,7 @@ AtspiObjectClass parent_class; void (*region_changed) (AtspiAccessible *accessible, gint current_offset, gint last_offset); + void (*mode_changed) (AtspiAccessible *accessible, gboolean enabled); }; GType atspi_accessible_get_type (void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/atspi/atspi-device-listener.c new/at-spi2-core-2.38.0/atspi/atspi-device-listener.c --- old/at-spi2-core-2.36.1/atspi/atspi-device-listener.c 2020-09-05 01:56:27.960104700 +0200 +++ new/at-spi2-core-2.38.0/atspi/atspi-device-listener.c 2020-09-12 21:22:56.193964200 +0200 @@ -32,7 +32,7 @@ GDestroyNotify callback_destroyed; } DeviceEventHandler; -GObjectClass *device_parent_class; +GObjectClass *device_listener_parent_class; /* * Misc. helpers. @@ -187,7 +187,7 @@ g_list_free (listener->callbacks); - device_parent_class->finalize (object); + device_listener_parent_class->finalize (object); } static void @@ -195,7 +195,7 @@ { GObjectClass *object_class = (GObjectClass *) klass; - device_parent_class = g_type_class_peek_parent (klass); + device_listener_parent_class = g_type_class_peek_parent (klass); object_class->finalize = atspi_device_listener_finalize; klass->device_event = atspi_device_event_dispatch; @@ -398,7 +398,8 @@ gchar * _atspi_device_listener_get_path (AtspiDeviceListener *listener) -{ return g_strdup_printf ("/org/a11y/atspi/listeners/%d", listener->id); +{ + return g_strdup_printf ("/org/a11y/atspi/listeners/%d", listener->id); } G_DEFINE_BOXED_TYPE (AtspiDeviceEvent, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/atspi/atspi-event-listener.c new/at-spi2-core-2.38.0/atspi/atspi-event-listener.c --- old/at-spi2-core-2.36.1/atspi/atspi-event-listener.c 2020-09-05 01:56:27.960104700 +0200 +++ new/at-spi2-core-2.38.0/atspi/atspi-event-listener.c 2020-09-12 21:22:56.193964200 +0200 @@ -335,40 +335,10 @@ return TRUE; } -static gchar * -strdup_and_adjust_for_dbus (const char *s) -{ - gchar *d = g_strdup (s); - gchar *p; - int parts = 0; - - if (!d) - return NULL; - - for (p = d; *p; p++) - { - if (*p == '-') - { - memmove (p, p + 1, g_utf8_strlen (p, -1)); - *p = toupper (*p); - } - else if (*p == ':') - { - parts++; - if (parts == 2) - break; - p [1] = toupper (p [1]); - } - } - - d [0] = toupper (d [0]); - return d; -} - static gboolean convert_event_type_to_dbus (const char *eventType, char **categoryp, char **namep, char **detailp, GPtrArray **matchrule_array) { - gchar *tmp = strdup_and_adjust_for_dbus (eventType); + gchar *tmp = _atspi_strdup_and_adjust_for_dbus (eventType); char *category = NULL, *name = NULL, *detail = NULL; char *saveptr = NULL; @@ -630,7 +600,7 @@ for (i = 0; i < src->len; i++) { gchar *dup = g_strdup (g_array_index (src, char *, i)); - g_array_append_val (dst, dup); + g_array_append_val (dst, dup); } return dst; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/atspi/atspi-misc-private.h new/at-spi2-core-2.38.0/atspi/atspi-misc-private.h --- old/at-spi2-core-2.36.1/atspi/atspi-misc-private.h 2020-09-05 01:56:27.964104700 +0200 +++ new/at-spi2-core-2.38.0/atspi/atspi-misc-private.h 2020-09-12 21:22:56.197964400 +0200 @@ -168,6 +168,8 @@ void _atspi_set_error_no_sync (GError **error); gboolean _atspi_prepare_screen_reader_interface (); + +gchar * _atspi_strdup_and_adjust_for_dbus (const char *s); G_END_DECLS #endif /* _ATSPI_MISC_PRIVATE_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/atspi/atspi-misc.c new/at-spi2-core-2.38.0/atspi/atspi-misc.c --- old/at-spi2-core-2.36.1/atspi/atspi-misc.c 2020-09-05 01:56:27.964104700 +0200 +++ new/at-spi2-core-2.38.0/atspi/atspi-misc.c 2020-09-12 21:22:56.197964400 +0200 @@ -35,6 +35,7 @@ #include "atspi-gmain.h" #include <stdio.h> #include <string.h> +#include <ctype.h> static void handle_get_items (DBusPendingCall *pending, void *user_data); @@ -1899,3 +1900,33 @@ dbus_connection_add_filter (a11y_bus, screen_reader_filter, NULL, NULL); return TRUE; } + +gchar * +_atspi_strdup_and_adjust_for_dbus (const char *s) +{ + gchar *d = g_strdup (s); + gchar *p; + int parts = 0; + + if (!d) + return NULL; + + for (p = d; *p; p++) + { + if (*p == '-') + { + memmove (p, p + 1, g_utf8_strlen (p, -1)); + *p = toupper (*p); + } + else if (*p == ':') + { + parts++; + if (parts == 2) + break; + p [1] = toupper (p [1]); + } + } + + d [0] = toupper (d [0]); + return d; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/atspi/atspimarshal.list new/at-spi2-core-2.38.0/atspi/atspimarshal.list --- old/at-spi2-core-2.36.1/atspi/atspimarshal.list 2020-09-05 01:56:27.964104700 +0200 +++ new/at-spi2-core-2.38.0/atspi/atspimarshal.list 2020-09-12 21:22:56.201964400 +0200 @@ -23,3 +23,4 @@ # BOOL deprecated alias for BOOLEAN VOID:INT,INT +VOID:INT,STRING diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/dbind/dbtest.c new/at-spi2-core-2.38.0/dbind/dbtest.c --- old/at-spi2-core-2.36.1/dbind/dbtest.c 2020-09-05 01:56:27.968104800 +0200 +++ new/at-spi2-core-2.38.0/dbind/dbtest.c 2020-09-12 21:22:56.205964300 +0200 @@ -86,7 +86,7 @@ dbind_any_free ("i", &v2); /* nop */ dbus_message_unref (msg); - fprintf (stderr, "simple ok\n"); + printf ("simple ok\n"); } void test_array () @@ -117,7 +117,7 @@ dbind_any_free ("ai", &a2); dbus_message_unref (msg); - fprintf (stderr, "array ok\n"); + printf ("array ok\n"); } /* this taught me that the struct type is a mis-nomer, @@ -146,7 +146,7 @@ } dbus_message_iter_close_container (&iter, &arr); - fprintf (stderr, "native struct marshalling ok\n"); + printf ("native struct marshalling ok\n"); dbus_message_unref (msg); } @@ -185,7 +185,7 @@ g_assert (!strcmp (g_array_index (a2, FooBaa, 1).baa, "baA")); g_assert (!strcmp (g_array_index (a2, FooBaa, 1).baz, "BaZ")); - fprintf (stderr, "simple struct ok\n"); + printf ("simple struct ok\n"); dbind_any_free ("a(sss)", &a2); dbus_message_unref (msg); @@ -248,7 +248,7 @@ g_assert (c2.pad2 == 1); g_assert (!strcmp (c1.name, "stroustrup")); - fprintf (stderr, "complex struct ok\n"); + printf ("complex struct ok\n"); dbind_any_free (TYPEOF_COMPLEX, &c2); dbus_message_unref (msg); @@ -296,7 +296,7 @@ g_assert (p[0].pad1 == 2); g_assert (g_array_index (p[1].vals, dbus_uint32_t, 1) == 1000000000); - fprintf (stderr, "struct with array ok\n"); + printf ("struct with array ok\n"); dbind_any_free (TYPEOF_ARRAYSTRUCT, &a2); dbus_message_unref (msg); @@ -342,7 +342,7 @@ dbind_any_free ("ii", &o); /* nop */ dbus_message_unref (msg); - fprintf (stderr, "two-val ok\n"); + printf ("two-val ok\n"); } void test_marshalling () @@ -355,7 +355,7 @@ test_struct_with_array (); test_twovals (); - fprintf (stderr, "Marshalling ok\n"); + printf ("Marshalling ok\n"); } void test_teamspaces (DBusConnection *bus) @@ -403,7 +403,7 @@ dbind_find_c_alignment ("a(sss)"); dbind_find_c_alignment ("(s(s)yd(d)s)"); dbind_find_c_alignment ("a{ss}"); - fprintf (stderr, "helpers passed\n"); + printf ("helpers passed\n"); } int main (int argc, char **argv) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/meson.build new/at-spi2-core-2.38.0/meson.build --- old/at-spi2-core-2.36.1/meson.build 2020-09-05 01:56:27.968104800 +0200 +++ new/at-spi2-core-2.38.0/meson.build 2020-09-12 21:22:56.205964300 +0200 @@ -1,12 +1,12 @@ project('at-spi2-core', 'c', - version: '2.36.1', + version: '2.38.0', license: 'LGPLv2.1+', default_options: [ 'buildtype=debugoptimized', 'warning_level=1', 'c_std=c99', ], - meson_version: '>= 0.40.1') + meson_version: '>= 0.46.0') add_project_arguments([ '-D_POSIX_C_SOURCE=200809L', '-D_DEFAULT_SOURCE' ], language: 'c') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/po/pt.po new/at-spi2-core-2.38.0/po/pt.po --- old/at-spi2-core-2.36.1/po/pt.po 2020-09-05 01:56:27.972104800 +0200 +++ new/at-spi2-core-2.38.0/po/pt.po 2020-09-12 21:22:56.213964500 +0200 @@ -7,27 +7,25 @@ msgid "" msgstr "" "Project-Id-Version: 3.12\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=at-" -"spi&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2015-06-08 02:51+0000\n" -"PO-Revision-Date: 2015-06-24 06:27+0100\n" -"Last-Translator: Pedro Albuquerque <[email protected]>\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues\n" +"POT-Creation-Date: 2020-05-27 15:50+0000\n" +"PO-Revision-Date: 2020-06-24 11:33+0100\n" +"Last-Translator: Manuela Silva <[email protected]>\n" "Language-Team: Português <[email protected]>\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Gtranslator 2.91.6\n" +"X-Generator: Poedit 2.3.1\n" -#: ../atspi/atspi-component.c:326 ../atspi/atspi-misc.c:1037 -#: ../atspi/atspi-value.c:111 +#: atspi/atspi-component.c:332 atspi/atspi-misc.c:1075 atspi/atspi-value.c:111 msgid "The application no longer exists" msgstr "A aplicação já não existe" -#: ../atspi/atspi-misc.c:1795 +#: atspi/atspi-misc.c:1853 msgid "Attempted synchronous call where prohibited" -msgstr "Tentada uma chamada síncrona onde é proibida" +msgstr "Tentativa de chamada síncrona onde proibida" #~ msgid "AT-SPI: Unknown signature %s for RemoveAccessible" #~ msgstr "AT-SPI: Assinatura %s desconhecida para RemoveAccessible" @@ -38,19 +36,11 @@ #~ msgid "AT-SPI: Error in GetItems, sender=%s, error=%s" #~ msgstr "AT-SPI: Erro em GetItems, invocador=%s, erro=%s" -#~ msgid "" -#~ "AT-SPI: Called _atspi_dbus_return_accessible_from_message with strange " -#~ "signature %s" -#~ msgstr "" -#~ "AT-SPI: Chamada de _atspi_dbus_return_accessible_from_message com " -#~ "assinatura incomun %s" - -#~ msgid "" -#~ "AT-SPI: Called _atspi_dbus_return_hyperlink_from_message with strange " -#~ "signature %s" -#~ msgstr "" -#~ "AT-SPI: Chamada de _atspi_dbus_return_hyperlink_from_message com " -#~ "assinatura incomun %s" +#~ msgid "AT-SPI: Called _atspi_dbus_return_accessible_from_message with strange signature %s" +#~ msgstr "AT-SPI: Chamada de _atspi_dbus_return_accessible_from_message com assinatura incomun %s" + +#~ msgid "AT-SPI: Called _atspi_dbus_return_hyperlink_from_message with strange signature %s" +#~ msgstr "AT-SPI: Chamada de _atspi_dbus_return_hyperlink_from_message com assinatura incomun %s" #~ msgid "AT-SPI: AddAccessible with unknown signature %s\n" #~ msgstr "AT-SPI: AddAccessible com assinatura %s desconhecida\n" @@ -59,9 +49,7 @@ #~ msgstr "AT-SPI: Incapaz de obter o ecrã\n" #~ msgid "AT-SPI: Accessibility bus not found - Using session bus.\n" -#~ msgstr "" -#~ "AT-SPI: Incapaz de encontrar o canal de acessibilidade - A utilizar o " -#~ "canal de sessão.\n" +#~ msgstr "AT-SPI: Incapaz de encontrar o canal de acessibilidade - A utilizar o canal de sessão.\n" #~ msgid "AT-SPI: Couldn't connect to bus: %s\n" #~ msgstr "AT-SPI: Incapaz de se ligar ao canal: %s\n" @@ -69,10 +57,8 @@ #~ msgid "AT-SPI: Couldn't register with bus: %s\n" #~ msgstr "AT-SPI: Incapaz de se registar no canal: %s\n" -#~ msgid "" -#~ "AT-SPI: expected a variant when fetching %s from interface %s; got %s\n" -#~ msgstr "" -#~ "AT-SPI: esperada uma variante ao obter %s do interface %s; obtida %s\n" +#~ msgid "AT-SPI: expected a variant when fetching %s from interface %s; got %s\n" +#~ msgstr "AT-SPI: esperada uma variante ao obter %s do interface %s; obtida %s\n" #~ msgid "atspi_dbus_get_property: Wrong type: expected %s, got %c\n" #~ msgstr "atspi_dbus_get_property: Tipo incorrecto: esperado %s, obtido %c\n" @@ -86,11 +72,8 @@ #~ msgid "Streamable content not implemented" #~ msgstr "Conteúdo em fluxo (stream) não está implementado" -#~ msgid "" -#~ "called atspi_event_listener_register_from_callback with a NULL event_type" -#~ msgstr "" -#~ "invocação de atspi_event_listener_register_from_callback com event_type " -#~ "NULL" +#~ msgid "called atspi_event_listener_register_from_callback with a NULL event_type" +#~ msgstr "invocação de atspi_event_listener_register_from_callback com event_type NULL" #~ msgid "Got invalid signature %s for signal %s from interface %s\n" #~ msgstr "Obtida assinatura %s inválida para o sinal %s do interface %s\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/registryd/ucs2keysym.c new/at-spi2-core-2.38.0/registryd/ucs2keysym.c --- old/at-spi2-core-2.36.1/registryd/ucs2keysym.c 2020-09-05 01:56:27.976104700 +0200 +++ new/at-spi2-core-2.38.0/registryd/ucs2keysym.c 2020-09-12 21:22:56.225964500 +0200 @@ -34,128 +34,132 @@ #include <X11/X.h> #include "deviceeventcontroller.h" /* for prototype */ +/* DO NOT UPATE BY HAND! + * This table can be regenerated from Xorg's keysymdef.h with the ucs2keysym.sh + * script. */ struct codepair { unsigned short keysym; unsigned short ucs; } keysymtab[] = { + { 0x0abd, 0x002e }, /* decimalpoint . FULL STOP */ { 0x0ba3, 0x003c }, /* leftcaret < LESS-THAN SIGN */ { 0x0ba6, 0x003e }, /* rightcaret > GREATER-THAN SIGN */ { 0x0bc6, 0x005f }, /* underbar _ LOW LINE */ { 0x0bc0, 0x00af }, /* overbar ¯ MACRON */ + { 0x03c0, 0x0100 }, /* Amacron Ā LATIN CAPITAL LETTER A WITH MACRON */ + { 0x03e0, 0x0101 }, /* amacron ā LATIN SMALL LETTER A WITH MACRON */ + { 0x01c3, 0x0102 }, /* Abreve Ă LATIN CAPITAL LETTER A WITH BREVE */ + { 0x01e3, 0x0103 }, /* abreve ă LATIN SMALL LETTER A WITH BREVE */ { 0x01a1, 0x0104 }, /* Aogonek Ą LATIN CAPITAL LETTER A WITH OGONEK */ { 0x01b1, 0x0105 }, /* aogonek ą LATIN SMALL LETTER A WITH OGONEK */ - { 0x01a5, 0x013d }, /* Lcaron Ľ LATIN CAPITAL LETTER L WITH CARON */ - { 0x01a3, 0x0141 }, /* Lstroke Ł LATIN CAPITAL LETTER L WITH STROKE */ - { 0x01a6, 0x015a }, /* Sacute Ś LATIN CAPITAL LETTER S WITH ACUTE */ - { 0x01aa, 0x015e }, /* Scedilla Ş LATIN CAPITAL LETTER S WITH CEDILLA */ - { 0x01a9, 0x0160 }, /* Scaron Š LATIN CAPITAL LETTER S WITH CARON */ - { 0x01ab, 0x0164 }, /* Tcaron Ť LATIN CAPITAL LETTER T WITH CARON */ - { 0x01ac, 0x0179 }, /* Zacute Ź LATIN CAPITAL LETTER Z WITH ACUTE */ - { 0x01af, 0x017b }, /* Zabovedot Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE */ - { 0x01ae, 0x017d }, /* Zcaron Ž LATIN CAPITAL LETTER Z WITH CARON */ - { 0x01b3, 0x0142 }, /* lstroke ł LATIN SMALL LETTER L WITH STROKE */ - { 0x01b5, 0x013e }, /* lcaron ľ LATIN SMALL LETTER L WITH CARON */ - { 0x01b6, 0x015b }, /* sacute ś LATIN SMALL LETTER S WITH ACUTE */ - { 0x01b9, 0x0161 }, /* scaron š LATIN SMALL LETTER S WITH CARON */ - { 0x01ba, 0x015f }, /* scedilla ş LATIN SMALL LETTER S WITH CEDILLA */ - { 0x01bb, 0x0165 }, /* tcaron ť LATIN SMALL LETTER T WITH CARON */ - { 0x01bc, 0x017a }, /* zacute ź LATIN SMALL LETTER Z WITH ACUTE */ - { 0x01be, 0x017e }, /* zcaron ž LATIN SMALL LETTER Z WITH CARON */ - { 0x01bf, 0x017c }, /* zabovedot ż LATIN SMALL LETTER Z WITH DOT ABOVE */ - { 0x01c0, 0x0154 }, /* Racute Ŕ LATIN CAPITAL LETTER R WITH ACUTE */ - { 0x01c3, 0x0102 }, /* Abreve Ă LATIN CAPITAL LETTER A WITH BREVE */ - { 0x01c5, 0x0139 }, /* Lacute Ĺ LATIN CAPITAL LETTER L WITH ACUTE */ { 0x01c6, 0x0106 }, /* Cacute Ć LATIN CAPITAL LETTER C WITH ACUTE */ + { 0x01e6, 0x0107 }, /* cacute ć LATIN SMALL LETTER C WITH ACUTE */ + { 0x02c6, 0x0108 }, /* Ccircumflex Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ + { 0x02e6, 0x0109 }, /* ccircumflex ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX */ + { 0x02c5, 0x010a }, /* Cabovedot Ċ LATIN CAPITAL LETTER C WITH DOT ABOVE */ + { 0x02e5, 0x010b }, /* cabovedot ċ LATIN SMALL LETTER C WITH DOT ABOVE */ { 0x01c8, 0x010c }, /* Ccaron Č LATIN CAPITAL LETTER C WITH CARON */ - { 0x01ca, 0x0118 }, /* Eogonek Ę LATIN CAPITAL LETTER E WITH OGONEK */ - { 0x01cc, 0x011a }, /* Ecaron Ě LATIN CAPITAL LETTER E WITH CARON */ + { 0x01e8, 0x010d }, /* ccaron č LATIN SMALL LETTER C WITH CARON */ { 0x01cf, 0x010e }, /* Dcaron Ď LATIN CAPITAL LETTER D WITH CARON */ + { 0x01ef, 0x010f }, /* dcaron ď LATIN SMALL LETTER D WITH CARON */ { 0x01d0, 0x0110 }, /* Dstroke Đ LATIN CAPITAL LETTER D WITH STROKE */ - { 0x01d1, 0x0143 }, /* Nacute Ń LATIN CAPITAL LETTER N WITH ACUTE */ - { 0x01d2, 0x0147 }, /* Ncaron Ň LATIN CAPITAL LETTER N WITH CARON */ - { 0x01d5, 0x0150 }, /* Odoubleacute Ő LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ - { 0x01d8, 0x0158 }, /* Rcaron Ř LATIN CAPITAL LETTER R WITH CARON */ - { 0x01d9, 0x016e }, /* Uring Ů LATIN CAPITAL LETTER U WITH RING ABOVE */ - { 0x01db, 0x0170 }, /* Udoubleacute Ű LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ - { 0x01de, 0x0162 }, /* Tcedilla Ţ LATIN CAPITAL LETTER T WITH CEDILLA */ - { 0x01e0, 0x0155 }, /* racute ŕ LATIN SMALL LETTER R WITH ACUTE */ - { 0x01e3, 0x0103 }, /* abreve ă LATIN SMALL LETTER A WITH BREVE */ - { 0x01e5, 0x013a }, /* lacute ĺ LATIN SMALL LETTER L WITH ACUTE */ - { 0x01e6, 0x0107 }, /* cacute ć LATIN SMALL LETTER C WITH ACUTE */ - { 0x01e8, 0x010d }, /* ccaron č LATIN SMALL LETTER C WITH CARON */ + { 0x01f0, 0x0111 }, /* dstroke đ LATIN SMALL LETTER D WITH STROKE */ + { 0x03aa, 0x0112 }, /* Emacron Ē LATIN CAPITAL LETTER E WITH MACRON */ + { 0x03ba, 0x0113 }, /* emacron ē LATIN SMALL LETTER E WITH MACRON */ + { 0x03cc, 0x0116 }, /* Eabovedot Ė LATIN CAPITAL LETTER E WITH DOT ABOVE */ + { 0x03ec, 0x0117 }, /* eabovedot ė LATIN SMALL LETTER E WITH DOT ABOVE */ + { 0x01ca, 0x0118 }, /* Eogonek Ę LATIN CAPITAL LETTER E WITH OGONEK */ { 0x01ea, 0x0119 }, /* eogonek ę LATIN SMALL LETTER E WITH OGONEK */ + { 0x01cc, 0x011a }, /* Ecaron Ě LATIN CAPITAL LETTER E WITH CARON */ { 0x01ec, 0x011b }, /* ecaron ě LATIN SMALL LETTER E WITH CARON */ - { 0x01ef, 0x010f }, /* dcaron ď LATIN SMALL LETTER D WITH CARON */ - { 0x01f0, 0x0111 }, /* dstroke đ LATIN SMALL LETTER D WITH STROKE */ - { 0x01f1, 0x0144 }, /* nacute ń LATIN SMALL LETTER N WITH ACUTE */ - { 0x01f2, 0x0148 }, /* ncaron ň LATIN SMALL LETTER N WITH CARON */ - { 0x01f5, 0x0151 }, /* odoubleacute ő LATIN SMALL LETTER O WITH DOUBLE ACUTE */ - { 0x01f8, 0x0159 }, /* rcaron ř LATIN SMALL LETTER R WITH CARON */ - { 0x01f9, 0x016f }, /* uring ů LATIN SMALL LETTER U WITH RING ABOVE */ - { 0x01fb, 0x0171 }, /* udoubleacute ű LATIN SMALL LETTER U WITH DOUBLE ACUTE */ - { 0x01fe, 0x0163 }, /* tcedilla ţ LATIN SMALL LETTER T WITH CEDILLA */ - { 0x02a1, 0x0126 }, /* Hstroke Ħ LATIN CAPITAL LETTER H WITH STROKE */ - { 0x02a6, 0x0124 }, /* Hcircumflex Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ - { 0x02a9, 0x0130 }, /* Iabovedot İ LATIN CAPITAL LETTER I WITH DOT ABOVE */ + { 0x02d8, 0x011c }, /* Gcircumflex Ĝ LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ + { 0x02f8, 0x011d }, /* gcircumflex ĝ LATIN SMALL LETTER G WITH CIRCUMFLEX */ { 0x02ab, 0x011e }, /* Gbreve Ğ LATIN CAPITAL LETTER G WITH BREVE */ - { 0x02ac, 0x0134 }, /* Jcircumflex Ĵ LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ - { 0x02b1, 0x0127 }, /* hstroke ħ LATIN SMALL LETTER H WITH STROKE */ - { 0x02b6, 0x0125 }, /* hcircumflex ĥ LATIN SMALL LETTER H WITH CIRCUMFLEX */ - { 0x02b9, 0x0131 }, /* idotless ı LATIN SMALL LETTER DOTLESS I */ { 0x02bb, 0x011f }, /* gbreve ğ LATIN SMALL LETTER G WITH BREVE */ - { 0x02bc, 0x0135 }, /* jcircumflex ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX */ - { 0x02c5, 0x010a }, /* Cabovedot Ċ LATIN CAPITAL LETTER C WITH DOT ABOVE */ - { 0x02c6, 0x0108 }, /* Ccircumflex Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ { 0x02d5, 0x0120 }, /* Gabovedot Ġ LATIN CAPITAL LETTER G WITH DOT ABOVE */ - { 0x02d8, 0x011c }, /* Gcircumflex Ĝ LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ - { 0x02dd, 0x016c }, /* Ubreve Ŭ LATIN CAPITAL LETTER U WITH BREVE */ - { 0x02de, 0x015c }, /* Scircumflex Ŝ LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ - { 0x02e5, 0x010b }, /* cabovedot ċ LATIN SMALL LETTER C WITH DOT ABOVE */ - { 0x02e6, 0x0109 }, /* ccircumflex ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX */ { 0x02f5, 0x0121 }, /* gabovedot ġ LATIN SMALL LETTER G WITH DOT ABOVE */ - { 0x02f8, 0x011d }, /* gcircumflex ĝ LATIN SMALL LETTER G WITH CIRCUMFLEX */ - { 0x02fd, 0x016d }, /* ubreve ŭ LATIN SMALL LETTER U WITH BREVE */ - { 0x02fe, 0x015d }, /* scircumflex ŝ LATIN SMALL LETTER S WITH CIRCUMFLEX */ - { 0x03a2, 0x0138 }, /* kra ĸ LATIN SMALL LETTER KRA */ - { 0x03a3, 0x0156 }, /* Rcedilla Ŗ LATIN CAPITAL LETTER R WITH CEDILLA */ - { 0x03a5, 0x0128 }, /* Itilde Ĩ LATIN CAPITAL LETTER I WITH TILDE */ - { 0x03a6, 0x013b }, /* Lcedilla Ļ LATIN CAPITAL LETTER L WITH CEDILLA */ - { 0x03aa, 0x0112 }, /* Emacron Ē LATIN CAPITAL LETTER E WITH MACRON */ { 0x03ab, 0x0122 }, /* Gcedilla Ģ LATIN CAPITAL LETTER G WITH CEDILLA */ - { 0x03ac, 0x0166 }, /* Tslash Ŧ LATIN CAPITAL LETTER T WITH STROKE */ - { 0x03b3, 0x0157 }, /* rcedilla ŗ LATIN SMALL LETTER R WITH CEDILLA */ + { 0x03bb, 0x0123 }, /* gcedilla ģ LATIN SMALL LETTER G WITH CEDILLA */ + { 0x02a6, 0x0124 }, /* Hcircumflex Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ + { 0x02b6, 0x0125 }, /* hcircumflex ĥ LATIN SMALL LETTER H WITH CIRCUMFLEX */ + { 0x02a1, 0x0126 }, /* Hstroke Ħ LATIN CAPITAL LETTER H WITH STROKE */ + { 0x02b1, 0x0127 }, /* hstroke ħ LATIN SMALL LETTER H WITH STROKE */ + { 0x03a5, 0x0128 }, /* Itilde Ĩ LATIN CAPITAL LETTER I WITH TILDE */ { 0x03b5, 0x0129 }, /* itilde ĩ LATIN SMALL LETTER I WITH TILDE */ + { 0x03cf, 0x012a }, /* Imacron Ī LATIN CAPITAL LETTER I WITH MACRON */ + { 0x03ef, 0x012b }, /* imacron ī LATIN SMALL LETTER I WITH MACRON */ + { 0x03c7, 0x012e }, /* Iogonek Į LATIN CAPITAL LETTER I WITH OGONEK */ + { 0x03e7, 0x012f }, /* iogonek į LATIN SMALL LETTER I WITH OGONEK */ + { 0x02a9, 0x0130 }, /* Iabovedot İ LATIN CAPITAL LETTER I WITH DOT ABOVE */ + { 0x02b9, 0x0131 }, /* idotless ı LATIN SMALL LETTER DOTLESS I */ + { 0x02ac, 0x0134 }, /* Jcircumflex Ĵ LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ + { 0x02bc, 0x0135 }, /* jcircumflex ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX */ + { 0x03d3, 0x0136 }, /* Kcedilla Ķ LATIN CAPITAL LETTER K WITH CEDILLA */ + { 0x03f3, 0x0137 }, /* kcedilla ķ LATIN SMALL LETTER K WITH CEDILLA */ + { 0x03a2, 0x0138 }, /* kra ĸ LATIN SMALL LETTER KRA */ + { 0x01c5, 0x0139 }, /* Lacute Ĺ LATIN CAPITAL LETTER L WITH ACUTE */ + { 0x01e5, 0x013a }, /* lacute ĺ LATIN SMALL LETTER L WITH ACUTE */ + { 0x03a6, 0x013b }, /* Lcedilla Ļ LATIN CAPITAL LETTER L WITH CEDILLA */ { 0x03b6, 0x013c }, /* lcedilla ļ LATIN SMALL LETTER L WITH CEDILLA */ - { 0x03ba, 0x0113 }, /* emacron ē LATIN SMALL LETTER E WITH MACRON */ - { 0x03bb, 0x0123 }, /* gcedilla ģ LATIN SMALL LETTER G WITH CEDILLA */ - { 0x03bc, 0x0167 }, /* tslash ŧ LATIN SMALL LETTER T WITH STROKE */ + { 0x01a5, 0x013d }, /* Lcaron Ľ LATIN CAPITAL LETTER L WITH CARON */ + { 0x01b5, 0x013e }, /* lcaron ľ LATIN SMALL LETTER L WITH CARON */ + { 0x01a3, 0x0141 }, /* Lstroke Ł LATIN CAPITAL LETTER L WITH STROKE */ + { 0x01b3, 0x0142 }, /* lstroke ł LATIN SMALL LETTER L WITH STROKE */ + { 0x01d1, 0x0143 }, /* Nacute Ń LATIN CAPITAL LETTER N WITH ACUTE */ + { 0x01f1, 0x0144 }, /* nacute ń LATIN SMALL LETTER N WITH ACUTE */ + { 0x03d1, 0x0145 }, /* Ncedilla Ņ LATIN CAPITAL LETTER N WITH CEDILLA */ + { 0x03f1, 0x0146 }, /* ncedilla ņ LATIN SMALL LETTER N WITH CEDILLA */ + { 0x01d2, 0x0147 }, /* Ncaron Ň LATIN CAPITAL LETTER N WITH CARON */ + { 0x01f2, 0x0148 }, /* ncaron ň LATIN SMALL LETTER N WITH CARON */ { 0x03bd, 0x014a }, /* ENG Ŋ LATIN CAPITAL LETTER ENG */ { 0x03bf, 0x014b }, /* eng ŋ LATIN SMALL LETTER ENG */ - { 0x03c0, 0x0100 }, /* Amacron Ā LATIN CAPITAL LETTER A WITH MACRON */ - { 0x03c7, 0x012e }, /* Iogonek Į LATIN CAPITAL LETTER I WITH OGONEK */ - { 0x03cc, 0x0116 }, /* Eabovedot Ė LATIN CAPITAL LETTER E WITH DOT ABOVE */ - { 0x03cf, 0x012a }, /* Imacron Ī LATIN CAPITAL LETTER I WITH MACRON */ - { 0x03d1, 0x0145 }, /* Ncedilla Ņ LATIN CAPITAL LETTER N WITH CEDILLA */ { 0x03d2, 0x014c }, /* Omacron Ō LATIN CAPITAL LETTER O WITH MACRON */ - { 0x03d3, 0x0136 }, /* Kcedilla Ķ LATIN CAPITAL LETTER K WITH CEDILLA */ - { 0x03d9, 0x0172 }, /* Uogonek Ų LATIN CAPITAL LETTER U WITH OGONEK */ - { 0x03dd, 0x0168 }, /* Utilde Ũ LATIN CAPITAL LETTER U WITH TILDE */ - { 0x03de, 0x016a }, /* Umacron Ū LATIN CAPITAL LETTER U WITH MACRON */ - { 0x03e0, 0x0101 }, /* amacron ā LATIN SMALL LETTER A WITH MACRON */ - { 0x03e7, 0x012f }, /* iogonek į LATIN SMALL LETTER I WITH OGONEK */ - { 0x03ec, 0x0117 }, /* eabovedot ė LATIN SMALL LETTER E WITH DOT ABOVE */ - { 0x03ef, 0x012b }, /* imacron ī LATIN SMALL LETTER I WITH MACRON */ - { 0x03f1, 0x0146 }, /* ncedilla ņ LATIN SMALL LETTER N WITH CEDILLA */ { 0x03f2, 0x014d }, /* omacron ō LATIN SMALL LETTER O WITH MACRON */ - { 0x03f3, 0x0137 }, /* kcedilla ķ LATIN SMALL LETTER K WITH CEDILLA */ - { 0x03f9, 0x0173 }, /* uogonek ų LATIN SMALL LETTER U WITH OGONEK */ - { 0x03fd, 0x0169 }, /* utilde ũ LATIN SMALL LETTER U WITH TILDE */ - { 0x03fe, 0x016b }, /* umacron ū LATIN SMALL LETTER U WITH MACRON */ - { 0x08f6, 0x0192 }, /* function ƒ LATIN SMALL LETTER F WITH HOOK */ + { 0x01d5, 0x0150 }, /* Odoubleacute Ő LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ + { 0x01f5, 0x0151 }, /* odoubleacute ő LATIN SMALL LETTER O WITH DOUBLE ACUTE */ { 0x13bc, 0x0152 }, /* OE Œ LATIN CAPITAL LIGATURE OE */ { 0x13bd, 0x0153 }, /* oe œ LATIN SMALL LIGATURE OE */ + { 0x01c0, 0x0154 }, /* Racute Ŕ LATIN CAPITAL LETTER R WITH ACUTE */ + { 0x01e0, 0x0155 }, /* racute ŕ LATIN SMALL LETTER R WITH ACUTE */ + { 0x03a3, 0x0156 }, /* Rcedilla Ŗ LATIN CAPITAL LETTER R WITH CEDILLA */ + { 0x03b3, 0x0157 }, /* rcedilla ŗ LATIN SMALL LETTER R WITH CEDILLA */ + { 0x01d8, 0x0158 }, /* Rcaron Ř LATIN CAPITAL LETTER R WITH CARON */ + { 0x01f8, 0x0159 }, /* rcaron ř LATIN SMALL LETTER R WITH CARON */ + { 0x01a6, 0x015a }, /* Sacute Ś LATIN CAPITAL LETTER S WITH ACUTE */ + { 0x01b6, 0x015b }, /* sacute ś LATIN SMALL LETTER S WITH ACUTE */ + { 0x02de, 0x015c }, /* Scircumflex Ŝ LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ + { 0x02fe, 0x015d }, /* scircumflex ŝ LATIN SMALL LETTER S WITH CIRCUMFLEX */ + { 0x01aa, 0x015e }, /* Scedilla Ş LATIN CAPITAL LETTER S WITH CEDILLA */ + { 0x01ba, 0x015f }, /* scedilla ş LATIN SMALL LETTER S WITH CEDILLA */ + { 0x01a9, 0x0160 }, /* Scaron Š LATIN CAPITAL LETTER S WITH CARON */ + { 0x01b9, 0x0161 }, /* scaron š LATIN SMALL LETTER S WITH CARON */ + { 0x01de, 0x0162 }, /* Tcedilla Ţ LATIN CAPITAL LETTER T WITH CEDILLA */ + { 0x01fe, 0x0163 }, /* tcedilla ţ LATIN SMALL LETTER T WITH CEDILLA */ + { 0x01ab, 0x0164 }, /* Tcaron Ť LATIN CAPITAL LETTER T WITH CARON */ + { 0x01bb, 0x0165 }, /* tcaron ť LATIN SMALL LETTER T WITH CARON */ + { 0x03ac, 0x0166 }, /* Tslash Ŧ LATIN CAPITAL LETTER T WITH STROKE */ + { 0x03bc, 0x0167 }, /* tslash ŧ LATIN SMALL LETTER T WITH STROKE */ + { 0x03dd, 0x0168 }, /* Utilde Ũ LATIN CAPITAL LETTER U WITH TILDE */ + { 0x03fd, 0x0169 }, /* utilde ũ LATIN SMALL LETTER U WITH TILDE */ + { 0x03de, 0x016a }, /* Umacron Ū LATIN CAPITAL LETTER U WITH MACRON */ + { 0x03fe, 0x016b }, /* umacron ū LATIN SMALL LETTER U WITH MACRON */ + { 0x02dd, 0x016c }, /* Ubreve Ŭ LATIN CAPITAL LETTER U WITH BREVE */ + { 0x02fd, 0x016d }, /* ubreve ŭ LATIN SMALL LETTER U WITH BREVE */ + { 0x01d9, 0x016e }, /* Uring Ů LATIN CAPITAL LETTER U WITH RING ABOVE */ + { 0x01f9, 0x016f }, /* uring ů LATIN SMALL LETTER U WITH RING ABOVE */ + { 0x01db, 0x0170 }, /* Udoubleacute Ű LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ + { 0x01fb, 0x0171 }, /* udoubleacute ű LATIN SMALL LETTER U WITH DOUBLE ACUTE */ + { 0x03d9, 0x0172 }, /* Uogonek Ų LATIN CAPITAL LETTER U WITH OGONEK */ + { 0x03f9, 0x0173 }, /* uogonek ų LATIN SMALL LETTER U WITH OGONEK */ { 0x13be, 0x0178 }, /* Ydiaeresis Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS */ + { 0x01ac, 0x0179 }, /* Zacute Ź LATIN CAPITAL LETTER Z WITH ACUTE */ + { 0x01bc, 0x017a }, /* zacute ź LATIN SMALL LETTER Z WITH ACUTE */ + { 0x01af, 0x017b }, /* Zabovedot Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE */ + { 0x01bf, 0x017c }, /* zabovedot ż LATIN SMALL LETTER Z WITH DOT ABOVE */ + { 0x01ae, 0x017d }, /* Zcaron Ž LATIN CAPITAL LETTER Z WITH CARON */ + { 0x01be, 0x017e }, /* zcaron ž LATIN SMALL LETTER Z WITH CARON */ + { 0x08f6, 0x0192 }, /* function ƒ LATIN SMALL LETTER F WITH HOOK */ { 0x01b7, 0x02c7 }, /* caron ˇ CARON */ { 0x01a2, 0x02d8 }, /* breve ˘ BREVE */ @@ -196,7 +200,7 @@ { 0x07d7, 0x03a7 }, /* Greek_CHI Χ GREEK CAPITAL LETTER CHI */ { 0x07d8, 0x03a8 }, /* Greek_PSI Ψ GREEK CAPITAL LETTER PSI */ { 0x07d9, 0x03a9 }, /* Greek_OMEGA Ω GREEK CAPITAL LETTER OMEGA */ - { 0x07a5, 0x03aa }, /* Greek_IOTAdiaeresis Ϊ GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ + { 0x07a5, 0x03aa }, /* Greek_IOTAdieresis Ϊ GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ { 0x07a9, 0x03ab }, /* Greek_UPSILONdieresis Ϋ GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ { 0x07b1, 0x03ac }, /* Greek_alphaaccent ά GREEK SMALL LETTER ALPHA WITH TONOS */ { 0x07b2, 0x03ad }, /* Greek_epsilonaccent έ GREEK SMALL LETTER EPSILON WITH TONOS */ @@ -326,6 +330,8 @@ { 0x06ac, 0x045c }, /* Macedonia_kje ќ CYRILLIC SMALL LETTER KJE */ { 0x06ae, 0x045e }, /* Byelorussian_shortu ў CYRILLIC SMALL LETTER SHORT U */ { 0x06af, 0x045f }, /* Cyrillic_dzhe џ CYRILLIC SMALL LETTER DZHE */ + { 0x06bd, 0x0490 }, /* Ukrainian_GHE_WITH_UPTURN Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ + { 0x06ad, 0x0491 }, /* Ukrainian_ghe_with_upturn ґ CYRILLIC SMALL LETTER GHE WITH UPTURN */ { 0x0ce0, 0x05d0 }, /* hebrew_aleph א HEBREW LETTER ALEF */ { 0x0ce1, 0x05d1 }, /* hebrew_bet ב HEBREW LETTER BET */ @@ -519,7 +525,6 @@ { 0x0ef9, 0x11f0 }, /* Hangul_J_KkogjiDalrinIeung ᇰ HANGUL JONGSEONG YESIEUNG */ { 0x0efa, 0x11f9 }, /* Hangul_J_YeorinHieuh ᇹ HANGUL JONGSEONG YEORINHIEUH */ - { 0x0aa2, 0x2002 }, /* enspace EN SPACE */ { 0x0aa1, 0x2003 }, /* emspace EM SPACE */ { 0x0aa3, 0x2004 }, /* em3space THREE-PER-EM SPACE */ @@ -544,12 +549,13 @@ { 0x0ae6, 0x2022 }, /* enfilledcircbullet • BULLET */ { 0x0aaf, 0x2025 }, /* doubbaselinedot ‥ TWO DOT LEADER */ { 0x0aae, 0x2026 }, /* ellipsis … HORIZONTAL ELLIPSIS */ + { 0x0ad5, 0x2030 }, /* permille ‰ PER MILLE SIGN */ { 0x0ad6, 0x2032 }, /* minutes ′ PRIME */ { 0x0ad7, 0x2033 }, /* seconds ″ DOUBLE PRIME */ { 0x0afc, 0x2038 }, /* caret ‸ CARET */ { 0x047e, 0x203e }, /* overline ‾ OVERLINE */ { 0x0eff, 0x20a9 }, /* Korean_Won ₩ WON SIGN */ - { 0x20ac, 0x20ac }, /* Euro € EURO SIGN */ + { 0x20ac, 0x20ac }, /* EuroSign € EURO SIGN */ { 0x0ab8, 0x2105 }, /* careof ℅ CARE OF */ { 0x06b0, 0x2116 }, /* numerosign № NUMERO SIGN */ @@ -574,15 +580,20 @@ { 0x08fe, 0x2193 }, /* downarrow ↓ DOWNWARDS ARROW */ { 0x08ce, 0x21d2 }, /* implies ⇒ RIGHTWARDS DOUBLE ARROW */ { 0x08cd, 0x21d4 }, /* ifonlyif ⇔ LEFT RIGHT DOUBLE ARROW */ + { 0x08ef, 0x2202 }, /* partialderivative ∂ PARTIAL DIFFERENTIAL */ { 0x08c5, 0x2207 }, /* nabla ∇ NABLA */ { 0x0bca, 0x2218 }, /* jot ∘ RING OPERATOR */ { 0x08d6, 0x221a }, /* radical √ SQUARE ROOT */ { 0x08c1, 0x221d }, /* variation ∝ PROPORTIONAL TO */ { 0x08c2, 0x221e }, /* infinity ∞ INFINITY */ + { 0x0ba9, 0x2227 }, /* upcaret ∧ LOGICAL AND */ { 0x08de, 0x2227 }, /* logicaland ∧ LOGICAL AND */ + { 0x0ba8, 0x2228 }, /* downcaret ∨ LOGICAL OR */ { 0x08df, 0x2228 }, /* logicalor ∨ LOGICAL OR */ + { 0x0bc3, 0x2229 }, /* upshoe ∩ INTERSECTION */ { 0x08dc, 0x2229 }, /* intersection ∩ INTERSECTION */ + { 0x0bd6, 0x222a }, /* downshoe ∪ UNION */ { 0x08dd, 0x222a }, /* union ∪ UNION */ { 0x08bf, 0x222b }, /* integral ∫ INTEGRAL */ { 0x08c0, 0x2234 }, /* therefore ∴ THEREFORE */ @@ -592,44 +603,51 @@ { 0x08cf, 0x2261 }, /* identical ≡ IDENTICAL TO */ { 0x08bc, 0x2264 }, /* lessthanequal ≤ LESS-THAN OR EQUAL TO */ { 0x08be, 0x2265 }, /* greaterthanequal ≥ GREATER-THAN OR EQUAL TO */ + { 0x0bda, 0x2282 }, /* leftshoe ⊂ SUBSET OF */ { 0x08da, 0x2282 }, /* includedin ⊂ SUBSET OF */ + { 0x0bd8, 0x2283 }, /* rightshoe ⊃ SUPERSET OF */ { 0x08db, 0x2283 }, /* includes ⊃ SUPERSET OF */ - { 0x0bdc, 0x22a2 }, /* lefttack ⊢ RIGHT TACK */ - { 0x0bfc, 0x22a3 }, /* righttack ⊣ LEFT TACK */ - { 0x0bce, 0x22a4 }, /* uptack ⊤ DOWN TACK */ - { 0x0bc2, 0x22a5 }, /* downtack ⊥ UP TACK */ + { 0x0bfc, 0x22a2 }, /* righttack ⊢ RIGHT TACK */ + { 0x0bdc, 0x22a3 }, /* lefttack ⊣ LEFT TACK */ + { 0x0bc2, 0x22a4 }, /* downtack ⊤ DOWN TACK */ + { 0x0bce, 0x22a5 }, /* uptack ⊥ UP TACK */ + { 0x0bd3, 0x2308 }, /* upstile ⌈ LEFT CEILING */ { 0x0bc4, 0x230a }, /* downstile ⌊ LEFT FLOOR */ { 0x0afa, 0x2315 }, /* telephonerecorder ⌕ TELEPHONE RECORDER */ { 0x08a4, 0x2320 }, /* topintegral ⌠ TOP HALF INTEGRAL */ { 0x08a5, 0x2321 }, /* botintegral ⌡ BOTTOM HALF INTEGRAL */ - { 0x0abc, 0x2329 }, /* leftanglebracket 〈 LEFT-POINTING ANGLE BRACKET */ - { 0x0abe, 0x232a }, /* rightanglebracket 〉 RIGHT-POINTING ANGLE BRACKET */ + { 0x0abc, 0x2329 }, /* leftanglebracket 〈 LEFT-POINTING ANGLE BRACKET, not U+27E8 per xterm source */ + { 0x0abe, 0x232a }, /* rightanglebracket 〉 RIGHT-POINTING ANGLE BRACKET, not U+27E9 per xterm source */ { 0x0bcc, 0x2395 }, /* quad ⎕ APL FUNCTIONAL SYMBOL QUAD */ - { 0x08ab, 0x239b }, /* topleftparens ⎛ ??? */ - { 0x08ac, 0x239d }, /* botleftparens ⎝ ??? */ - { 0x08ad, 0x239e }, /* toprightparens ⎞ ??? */ - { 0x08ae, 0x23a0 }, /* botrightparens ⎠ ??? */ - { 0x08a7, 0x23a1 }, /* topleftsqbracket ⎡ ??? */ - { 0x08a8, 0x23a3 }, /* botleftsqbracket ⎣ ??? */ - { 0x08a9, 0x23a4 }, /* toprightsqbracket ⎤ ??? */ - { 0x08aa, 0x23a6 }, /* botrightsqbracket ⎦ ??? */ - { 0x08af, 0x23a8 }, /* leftmiddlecurlybrace ⎨ ??? */ - { 0x08b0, 0x23ac }, /* rightmiddlecurlybrace ⎬ ??? */ - { 0x08a1, 0x23b7 }, /* leftradical ⎷ ??? */ - { 0x09ef, 0x23ba }, /* horizlinescan1 ⎺ HORIZONTAL SCAN LINE-1 (Unicode 3.2 draft) */ - { 0x09f0, 0x23bb }, /* horizlinescan3 ⎻ HORIZONTAL SCAN LINE-3 (Unicode 3.2 draft) */ - { 0x09f2, 0x23bc }, /* horizlinescan7 ⎼ HORIZONTAL SCAN LINE-7 (Unicode 3.2 draft) */ - { 0x09f3, 0x23bd }, /* horizlinescan9 ⎽ HORIZONTAL SCAN LINE-9 (Unicode 3.2 draft) */ + { 0x08ab, 0x239b }, /* topleftparens ⎛ LEFT PARENTHESIS UPPER HOOK */ + { 0x08ac, 0x239d }, /* botleftparens ⎝ LEFT PARENTHESIS LOWER HOOK */ + { 0x08ad, 0x239e }, /* toprightparens ⎞ RIGHT PARENTHESIS UPPER HOOK */ + { 0x08ae, 0x23a0 }, /* botrightparens ⎠ RIGHT PARENTHESIS LOWER HOOK */ + { 0x08a7, 0x23a1 }, /* topleftsqbracket ⎡ LEFT SQUARE BRACKET UPPER CORNER */ + { 0x08a8, 0x23a3 }, /* botleftsqbracket ⎣ LEFT SQUARE BRACKET LOWER CORNER */ + { 0x08a9, 0x23a4 }, /* toprightsqbracket ⎤ RIGHT SQUARE BRACKET UPPER CORNER */ + { 0x08aa, 0x23a6 }, /* botrightsqbracket ⎦ RIGHT SQUARE BRACKET LOWER CORNER */ + { 0x08af, 0x23a8 }, /* leftmiddlecurlybrace ⎨ LEFT CURLY BRACKET MIDDLE PIECE */ + { 0x08b0, 0x23ac }, /* rightmiddlecurlybrace ⎬ RIGHT CURLY BRACKET MIDDLE PIECE */ + { 0x08a1, 0x23b7 }, /* leftradical ⎷ RADICAL SYMBOL BOTTOM */ + { 0x09ef, 0x23ba }, /* horizlinescan1 ⎺ HORIZONTAL SCAN LINE-1 */ + { 0x09f0, 0x23bb }, /* horizlinescan3 ⎻ HORIZONTAL SCAN LINE-3 */ + { 0x09f2, 0x23bc }, /* horizlinescan7 ⎼ HORIZONTAL SCAN LINE-7 */ + { 0x09f3, 0x23bd }, /* horizlinescan9 ⎽ HORIZONTAL SCAN LINE-9 */ + { 0x09e2, 0x2409 }, /* ht ␉ SYMBOL FOR HORIZONTAL TABULATION */ + { 0x09e5, 0x240a }, /* lf ␊ SYMBOL FOR LINE FEED */ + { 0x09e9, 0x240b }, /* vt ␋ SYMBOL FOR VERTICAL TABULATION */ { 0x09e3, 0x240c }, /* ff ␌ SYMBOL FOR FORM FEED */ { 0x09e4, 0x240d }, /* cr ␍ SYMBOL FOR CARRIAGE RETURN */ - { 0x09e5, 0x240a }, /* lf ␊ SYMBOL FOR LINE FEED */ + { 0x0aac, 0x2423 }, /* signifblank ␣ OPEN BOX */ { 0x09e8, 0x2424 }, /* nl  SYMBOL FOR NEWLINE */ - { 0x09e9, 0x240b }, /* vt ␋ SYMBOL FOR VERTICAL TABULATION */ { 0x08a3, 0x2500 }, /* horizconnector ─ BOX DRAWINGS LIGHT HORIZONTAL */ + { 0x09f1, 0x2500 }, /* horizlinescan5 ─ BOX DRAWINGS LIGHT HORIZONTAL */ { 0x08a6, 0x2502 }, /* vertconnector │ BOX DRAWINGS LIGHT VERTICAL */ + { 0x09f8, 0x2502 }, /* vertbar │ BOX DRAWINGS LIGHT VERTICAL */ { 0x08a2, 0x250c }, /* topleftradical ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT */ { 0x09ec, 0x250c }, /* upleftcorner ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT */ { 0x09eb, 0x2510 }, /* uprightcorner ┐ BOX DRAWINGS LIGHT DOWN AND LEFT */ @@ -638,8 +656,8 @@ { 0x09f4, 0x251c }, /* leftt ├ BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ { 0x09f5, 0x2524 }, /* rightt ┤ BOX DRAWINGS LIGHT VERTICAL AND LEFT */ { 0x09f7, 0x252c }, /* topt ┬ BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ - { 0x09ee, 0x253c }, /* crossinglines ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ { 0x09f6, 0x2534 }, /* bott ┴ BOX DRAWINGS LIGHT UP AND HORIZONTAL */ + { 0x09ee, 0x253c }, /* crossinglines ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ { 0x09e1, 0x2592 }, /* checkerboard ▒ MEDIUM SHADE */ { 0x0ae7, 0x25aa }, /* enfilledsqbullet ▪ BLACK SMALL SQUARE */ { 0x0ae1, 0x25ab }, /* enopensquarebullet ▫ WHITE SMALL SQUARE */ @@ -657,16 +675,29 @@ { 0x0acc, 0x25c1 }, /* leftopentriangle ◁ WHITE LEFT-POINTING TRIANGLE */ { 0x09e0, 0x25c6 }, /* soliddiamond ◆ BLACK DIAMOND */ { 0x0ace, 0x25cb }, /* emopencircle ○ WHITE CIRCLE */ + { 0x0bcf, 0x25cb }, /* circle ○ WHITE CIRCLE */ { 0x0ade, 0x25cf }, /* emfilledcircle ● BLACK CIRCLE */ { 0x0ae0, 0x25e6 }, /* enopencircbullet ◦ WHITE BULLET */ + + { 0x0ae5, 0x2606 }, /* openstar ☆ WHITE STAR */ + { 0x0af9, 0x260e }, /* telephone ☎ BLACK TELEPHONE */ + { 0x0aca, 0x2613 }, /* signaturemark ☓ SALTIRE */ + { 0x0aea, 0x261c }, /* leftpointer ☜ WHITE LEFT POINTING INDEX */ + { 0x0aeb, 0x261e }, /* rightpointer ☞ WHITE RIGHT POINTING INDEX */ + { 0x0af8, 0x2640 }, /* femalesymbol ♀ FEMALE SIGN */ + { 0x0af7, 0x2642 }, /* malesymbol ♂ MALE SIGN */ + { 0x0aec, 0x2663 }, /* club ♣ BLACK CLUB SUIT */ { 0x0aee, 0x2665 }, /* heart ♥ BLACK HEART SUIT */ { 0x0aed, 0x2666 }, /* diamond ♦ BLACK DIAMOND SUIT */ - { 0x0af5, 0x266f }, /* musicalsharp ♯ MUSIC SHARP SIGN */ { 0x0af6, 0x266d }, /* musicalflat ♭ MUSIC FLAT SIGN */ + { 0x0af5, 0x266f }, /* musicalsharp ♯ MUSIC SHARP SIGN */ + { 0x0af3, 0x2713 }, /* checkmark ✓ CHECK MARK */ { 0x0af4, 0x2717 }, /* ballotcross ✗ BALLOT X */ { 0x0ad9, 0x271d }, /* latincross ✝ LATIN CROSS */ { 0x0af0, 0x2720 }, /* maltesecross ✠ MALTESE CROSS */ + { 0x0abc, 0x27e8 }, /* leftanglebracket ⟨ MATHEMATICAL LEFT ANGLE BRACKET */ + { 0x0abe, 0x27e9 }, /* rightanglebracket ⟩ MATHEMATICAL RIGHT ANGLE BRACKET */ { 0x04a4, 0x3001 }, /* kana_comma 、 IDEOGRAPHIC COMMA */ { 0x04a1, 0x3002 }, /* kana_fullstop 。 IDEOGRAPHIC FULL STOP */ @@ -824,9 +855,7 @@ long keysym2ucs(long keysym) { - int min = 0; - int max = sizeof(keysymtab) / sizeof(struct codepair) - 1; - int mid; + int i; /* first check for Latin-1 characters (1:1 mapping) */ if ((keysym >= 0x0020 && keysym <= 0x007e) || @@ -837,16 +866,10 @@ if ((keysym & 0xff000000) == 0x01000000) return keysym & 0x00ffffff; - /* binary search in table */ - while (max >= min) { - mid = (min + max) / 2; - if (keysymtab[mid].keysym < keysym) - min = mid + 1; - else if (keysymtab[mid].keysym > keysym) - max = mid - 1; - else { + for (i = 0; i < sizeof(keysymtab) / sizeof(keysymtab[0]); i++) { + if (keysymtab[i].keysym == keysym) { /* found it */ - return keysymtab[mid].ucs; + return keysymtab[i].ucs; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/registryd/ucs2keysym.sh new/at-spi2-core-2.38.0/registryd/ucs2keysym.sh --- old/at-spi2-core-2.36.1/registryd/ucs2keysym.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/at-spi2-core-2.38.0/registryd/ucs2keysym.sh 2020-09-12 21:22:56.225964500 +0200 @@ -0,0 +1,38 @@ +#!/bin/bash + +if [ "$#" = 0 ] +then + echo "Usage: $0 /path/to/keysymdef.h" + exit 1 +fi + +# We are only interested in +# - keysyms which have well-defined unicode equivalent +# - and are not just trivial unicode keysyms +# - non-latin1 keysyms +# - not the lamda aliases +# and we tinker with the alias parentheses to make sorting easier + +grep '^#define' "$1" | \ + grep -i "U+" | \ + grep -vi "0x100[0-9a-f][0-9a-f][0-9a-f][0-9a-f]" | \ + grep -vi " 0x00[0-9a-f][0-9a-f] " | \ + grep -vi "_lamda " | \ + sed -e 's/\/\*(/& /' | \ + sed -e 's/)\*\// &/' | \ + sort -k 5 | \ + perl -CS -e ' +my $last = 0; +while (<>) { + chomp; + if ( /^\#define XK_([a-zA-Z_0-9]+)(\s*) 0x([0-9a-f]+)\s*\/\*(\(?) U\+([0-9A-F]{4,6}) (.*) \)?\*\/\s*$/ ) { + my ( $xk, $space, $keysym, $paren, $unicode, $unistr ) = ( $1, $2, $3, $4, $5, $6); + $unicode = hex("0x".$unicode); + + print "\n" if (int($unicode / 256) != int($last / 256)); + $last = $unicode; + + printf " { 0x$keysym, 0x%04x }, /* $space$xk %lc $unistr */\n", $unicode, $unicode; + } +} + ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/test/memory.c new/at-spi2-core-2.38.0/test/memory.c --- old/at-spi2-core-2.36.1/test/memory.c 2020-09-05 01:56:27.976104700 +0200 +++ new/at-spi2-core-2.38.0/test/memory.c 2020-09-12 21:22:56.225964500 +0200 @@ -16,19 +16,24 @@ AtspiAccessible *accessible; GError *error = NULL; + printf ("getting name\n"); str = atspi_accessible_get_name (obj, &error); if (str) g_free (str); + printf ("ok, getting parent\n"); accessible = atspi_accessible_get_parent (obj, NULL); if (accessible) g_object_unref (accessible); + printf ("ok, getting children\n"); count = atspi_accessible_get_child_count (obj, &error); for (i = 0; i < count; i++) { accessible = atspi_accessible_get_child_at_index (obj, i, &error); + printf ("ok %d\n", i); if (accessible) g_object_unref (accessible); } + printf ("ok\n"); } static gboolean @@ -79,7 +84,7 @@ atspi_event_listener_register (listener, "object:children-changed", NULL); child_pid = fork (); if (!child_pid) - execlp ("gedit", "gedit", NULL); + execlp ("test/test-application", "test/test-application", NULL); atspi_event_main (); return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/test/meson.build new/at-spi2-core-2.38.0/test/meson.build --- old/at-spi2-core-2.36.1/test/meson.build 2020-09-05 01:56:27.976104700 +0200 +++ new/at-spi2-core-2.38.0/test/meson.build 2020-09-12 21:22:56.225964500 +0200 @@ -1,4 +1,13 @@ -test('memory', - executable('memory', 'memory.c', - include_directories: root_inc, - dependencies: [ atspi_dep ])) +testapp = executable('test-application', + 'test-application.c', + include_directories: root_inc, + dependencies: [ atspi_dep ], + ) + +memory = executable('memory', + 'memory.c', + include_directories: root_inc, + dependencies: [ atspi_dep ], + ) + +test('memory', memory, depends: testapp) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-core-2.36.1/test/test-application.c new/at-spi2-core-2.38.0/test/test-application.c --- old/at-spi2-core-2.36.1/test/test-application.c 1970-01-01 01:00:00.000000000 +0100 +++ new/at-spi2-core-2.38.0/test/test-application.c 2020-09-12 21:22:56.225964500 +0200 @@ -0,0 +1,105 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; https://wiki.gnome.org/Accessibility) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +/* + * Simple test application for AT-SPI. + * + * The only thing this application does, is registering itself to the AT-SPI + * registry and then waiting to get killed by some external force. + */ + +#include <stdio.h> +#include <glib.h> +#include <dbus/dbus.h> +#include <atspi/atspi.h> + +static GMainLoop *mainloop; + +int +register_app () +{ + DBusConnection *connection = NULL; + DBusMessage *message; + DBusMessageIter iter; + DBusMessageIter subiter; + DBusError error; + DBusMessage *reply; + const gchar *name; + gchar *path; + + + /* Set up D-Bus connection and register bus name */ + dbus_error_init (&error); + connection = atspi_get_a11y_bus (); + if (!connection) + { + printf("Couldn't get a11y bus!\n"); + return -1; + } + + /* Register this app by sending a signal out to AT-SPI registry daemon */ + message = dbus_message_new_method_call (ATSPI_DBUS_NAME_REGISTRY, + ATSPI_DBUS_PATH_ROOT, + ATSPI_DBUS_INTERFACE_SOCKET, + "Embed"); + + dbus_message_iter_init_append (message, &iter); + + name = dbus_bus_get_unique_name (connection); + path = g_strdup (ATSPI_DBUS_PATH_NULL); + + dbus_message_iter_open_container (&iter, DBUS_TYPE_STRUCT, NULL, + &subiter); + dbus_message_iter_append_basic (&subiter, DBUS_TYPE_STRING, &name); + dbus_message_iter_append_basic (&subiter, DBUS_TYPE_OBJECT_PATH, &path); + dbus_message_iter_close_container (&iter, &subiter); + + g_free (path); + + reply = dbus_connection_send_with_reply_and_block(connection, message, -1, &error); + if (!reply) + { + printf("Did not get a reply from the registry.\n"); + dbus_message_unref (message); + dbus_error_free (&error); + return -1; + } + + dbus_message_unref (message); + dbus_message_unref (reply); + dbus_error_free (&error); + return 0; +} + +int main (int argc, char *argv[]) +{ + int ret = register_app (); + if (ret) { + printf("Failed to send dbus signals. Aborting.\n"); + return ret; + } + + // This keeps the test-application runnig indefinitely, i.e. + // until killed by an external signal. + mainloop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (mainloop); + + return 0; +} _______________________________________________ openSUSE Commits mailing list -- [email protected] To unsubscribe, email [email protected] List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/[email protected]
