Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package at-spi2-core for openSUSE:Factory 
checked in at 2026-05-30 22:55:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/at-spi2-core (Old)
 and      /work/SRC/openSUSE:Factory/.at-spi2-core.new.1937 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "at-spi2-core"

Sat May 30 22:55:08 2026 rev:126 rq:1355921 version:2.60.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/at-spi2-core/at-spi2-core.changes        
2026-05-05 15:15:53.264466798 +0200
+++ /work/SRC/openSUSE:Factory/.at-spi2-core.new.1937/at-spi2-core.changes      
2026-05-30 22:56:09.179392864 +0200
@@ -1,0 +2,8 @@
+Sat May 23 14:42:55 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 2.60.4:
+  + AtspiDeviceA11yManager: Make use of pid when returned by
+    queryPointer
+  + Fix deregistering application-specific event listeners
+
+-------------------------------------------------------------------

Old:
----
  at-spi2-core-2.60.3.tar.xz

New:
----
  at-spi2-core-2.60.4.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ at-spi2-core.spec ++++++
--- /var/tmp/diff_new_pack.k83LyA/_old  2026-05-30 22:56:10.839460977 +0200
+++ /var/tmp/diff_new_pack.k83LyA/_new  2026-05-30 22:56:10.843461141 +0200
@@ -23,7 +23,7 @@
 %define atspiconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}
 
 Name:           at-spi2-core
-Version:        2.60.3
+Version:        2.60.4
 Release:        0
 Summary:        Assistive Technology Service Provider Interface - D-Bus based 
implementation
 License:        LGPL-2.1-or-later

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.k83LyA/_old  2026-05-30 22:56:10.903463603 +0200
+++ /var/tmp/diff_new_pack.k83LyA/_new  2026-05-30 22:56:10.911463932 +0200
@@ -1,6 +1,6 @@
-mtime: 1777486438
-commit: 65e6cf4256063ff5c2c51a36e02d1ce403c8872fc3eed3c9590867481c0a4500
+mtime: 1779547476
+commit: 0bb33636dafcd42460e68eaef4ee9b1700007348fa7bcbd7f053045eb5180e72
 url: https://src.opensuse.org/GNOME/at-spi2-core
-revision: 65e6cf4256063ff5c2c51a36e02d1ce403c8872fc3eed3c9590867481c0a4500
+revision: 0bb33636dafcd42460e68eaef4ee9b1700007348fa7bcbd7f053045eb5180e72
 projectscmsync: https://src.opensuse.org/GNOME/_ObsPrj
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.k83LyA/_old  2026-05-30 22:56:10.939465080 +0200
+++ /var/tmp/diff_new_pack.k83LyA/_new  2026-05-30 22:56:10.947465409 +0200
@@ -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.60.3</param>
+    <param name="revision">2.60.4</param>
     <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
     <param name="versionrewrite-pattern">(.*)\+0</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ at-spi2-core-2.60.3.tar.xz -> at-spi2-core-2.60.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/NEWS new/at-spi2-core-2.60.4/NEWS
--- old/at-spi2-core-2.60.3/NEWS        2026-04-29 17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/NEWS        2026-05-23 15:19:40.000000000 +0200
@@ -1,3 +1,9 @@
+What's new in at-spi2-core 2.60.4:
+
+* AtspiDeviceA11yManager: Make use of pid when returned by queryPointer
+
+* Fix deregistering application-specific event listeners
+
 What's new in at-spi2-core 2.60.3:
 
 * libatspi: Fix another NULL pointer dereference.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/atspi/atspi-constants.h 
new/at-spi2-core-2.60.4/atspi/atspi-constants.h
--- old/at-spi2-core-2.60.3/atspi/atspi-constants.h     2026-04-29 
17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/atspi/atspi-constants.h     2026-05-23 
15:19:40.000000000 +0200
@@ -1895,7 +1895,7 @@
  *
  * Since: 2.59
  */
-#define ATSPI_REGISTRY_VERSION                  1
+#define ATSPI_REGISTRY_VERSION 2
 /**
  * ATSPI_SELECTION_VERSION:
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/at-spi2-core-2.60.3/atspi/atspi-device-a11y-manager.c 
new/at-spi2-core-2.60.4/atspi/atspi-device-a11y-manager.c
--- old/at-spi2-core-2.60.3/atspi/atspi-device-a11y-manager.c   2026-04-29 
17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/atspi/atspi-device-a11y-manager.c   2026-05-23 
15:19:40.000000000 +0200
@@ -397,6 +397,7 @@
   gchar *object_path = NULL;
   double x = 0, y = 0;
   AtspiAccessible *obj;
+  gint pid = -1;
 
   if (!ret)
     return;
@@ -404,12 +405,19 @@
   g_variant_get (ret, "(@a{sv}dd)", &values, &x, &y);
   g_variant_lookup (values, "app-dbus-name", "s", &bus_name);
   g_variant_lookup (values, "toplevel-object-path", "o", &object_path);
+  g_variant_lookup (values, "pid", "i", &pid);
   if (bus_name && object_path)
     {
       obj = _atspi_ref_accessible (bus_name, object_path);
       g_signal_emit_by_name (device, "pointer-moved", obj, (gint) x, (gint) y);
       g_object_unref (obj);
     }
+  else if (pid > 0)
+    {
+      obj = _atspi_get_accessible_from_pid (pid);
+      g_signal_emit_by_name (device, "pointer-moved", obj, (gint) x, (gint) y);
+      g_object_unref (obj);
+    }
 
   g_free (bus_name);
   g_free (object_path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/atspi/atspi-device-x11.c 
new/at-spi2-core-2.60.4/atspi/atspi-device-x11.c
--- old/at-spi2-core-2.60.3/atspi/atspi-device-x11.c    2026-04-29 
17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/atspi/atspi-device-x11.c    2026-05-23 
15:19:40.000000000 +0200
@@ -984,32 +984,6 @@
   return pid;
 }
 
-static AtspiAccessible *
-get_accessible_from_pid (pid_t pid)
-{
-  AtspiAccessible *desktop = atspi_get_desktop (0);
-  gint count = atspi_accessible_get_child_count (desktop, NULL);
-  gint i;
-  guint child_pid;
-
-  for (i = 0; i < count; i++)
-    {
-      AtspiAccessible *child = atspi_accessible_get_child_at_index (desktop, 
i, NULL);
-      if (!child)
-        continue;
-      child_pid = atspi_accessible_get_process_id (child, NULL);
-      if (child_pid == pid)
-        {
-          g_object_unref (desktop);
-          return child;
-        }
-      g_object_unref (child);
-    }
-
-  g_object_unref (desktop);
-  return NULL;
-}
-
 static gboolean
 poll_mouse_moved (AtspiDeviceX11 *x11_device)
 {
@@ -1045,7 +1019,7 @@
     return TRUE;
 
   pid = get_pid_from_window (priv->display, child);
-  accessible = get_accessible_from_pid (pid);
+  accessible = _atspi_get_accessible_from_pid (pid);
   if (accessible)
     {
       g_signal_emit_by_name (x11_device, "pointer-moved", accessible, 
win_x_return, win_y_return);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/atspi/atspi-event-listener.c 
new/at-spi2-core-2.60.4/atspi/atspi-event-listener.c
--- old/at-spi2-core-2.60.3/atspi/atspi-event-listener.c        2026-04-29 
17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/atspi/atspi-event-listener.c        2026-05-23 
15:19:40.000000000 +0200
@@ -398,7 +398,7 @@
       gchar *matchrule;
       (*matchrule_array) = g_ptr_array_new ();
       matchrule = g_strdup_printf 
("type='signal',interface='org.a11y.atspi.Event.%s'", category);
-      if (app)
+      if (app && app->parent.app)
         {
           gchar *new_str = g_strconcat (matchrule, ",sender='",
                                         app->parent.app->bus_name, "'",
@@ -899,7 +899,7 @@
   gint i;
   GList *l;
 
-  if (!convert_event_type_to_dbus (event_type, &category, &name, &detail, 
NULL, &matchrule_array))
+  if (!convert_event_type_to_dbus (event_type, &category, &name, &detail, 
NULL, NULL))
     {
       return FALSE;
     }
@@ -926,21 +926,28 @@
             }
           else
             event_listeners = g_list_remove (event_listeners, e);
+          convert_event_type_to_dbus (event_type, NULL, NULL, NULL, e->app, 
&matchrule_array);
           for (i = 0; i < matchrule_array->len; i++)
             {
               char *matchrule = g_ptr_array_index (matchrule_array, i);
               dbus_bus_remove_match (_atspi_bus (), matchrule, NULL);
+              g_free (matchrule);
+            }
+          g_ptr_array_free (matchrule_array, TRUE);
+          if (!e->app || e->app->parent.app)
+            {
+              const char *app_bus_name = (e->app ? 
e->app->parent.app->bus_name : "");
+              message = dbus_message_new_method_call (atspi_bus_registry,
+                                                      atspi_path_registry,
+                                                      atspi_interface_registry,
+                                                      "DeregisterEvent");
+              if (!message)
+                return FALSE;
+              dbus_message_append_args (message, DBUS_TYPE_STRING, 
&event_type, DBUS_TYPE_STRING, &app_bus_name, DBUS_TYPE_INVALID);
+              reply = _atspi_dbus_send_with_reply_and_block (message, error);
+              if (reply)
+                dbus_message_unref (reply);
             }
-          message = dbus_message_new_method_call (atspi_bus_registry,
-                                                  atspi_path_registry,
-                                                  atspi_interface_registry,
-                                                  "DeregisterEvent");
-          if (!message)
-            return FALSE;
-          dbus_message_append_args (message, DBUS_TYPE_STRING, &event_type, 
DBUS_TYPE_INVALID);
-          reply = _atspi_dbus_send_with_reply_and_block (message, error);
-          if (reply)
-            dbus_message_unref (reply);
 
           if (!in_send)
             listener_entry_free (e);
@@ -952,9 +959,6 @@
   g_free (name);
   if (detail)
     g_free (detail);
-  for (i = 0; i < matchrule_array->len; i++)
-    g_free (g_ptr_array_index (matchrule_array, i));
-  g_ptr_array_free (matchrule_array, TRUE);
   return TRUE;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/atspi/atspi-misc-private.h 
new/at-spi2-core-2.60.4/atspi/atspi-misc-private.h
--- old/at-spi2-core-2.60.3/atspi/atspi-misc-private.h  2026-04-29 
17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/atspi/atspi-misc-private.h  2026-05-23 
15:19:40.000000000 +0200
@@ -161,4 +161,6 @@
 gchar *_atspi_strdup_and_adjust_for_dbus (const char *s);
 
 gboolean _atspi_key_is_on_keypad (gint keycode);
+
+AtspiAccessible *_atspi_get_accessible_from_pid (pid_t pid);
 G_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/atspi/atspi-misc.c 
new/at-spi2-core-2.60.4/atspi/atspi-misc.c
--- old/at-spi2-core-2.60.3/atspi/atspi-misc.c  2026-04-29 17:23:50.000000000 
+0200
+++ new/at-spi2-core-2.60.4/atspi/atspi-misc.c  2026-05-23 15:19:40.000000000 
+0200
@@ -2269,3 +2269,29 @@
   return dbus_server_setup_with_g_main (server, context);
 }
 #endif
+
+AtspiAccessible *
+_atspi_get_accessible_from_pid (pid_t pid)
+{
+  AtspiAccessible *desktop = atspi_get_desktop (0);
+  gint count = atspi_accessible_get_child_count (desktop, NULL);
+  gint i;
+  guint child_pid;
+
+  for (i = 0; i < count; i++)
+    {
+      AtspiAccessible *child = atspi_accessible_get_child_at_index (desktop, 
i, NULL);
+      if (!child)
+        continue;
+      child_pid = atspi_accessible_get_process_id (child, NULL);
+      if (child_pid == pid)
+        {
+          g_object_unref (desktop);
+          return child;
+        }
+      g_object_unref (child);
+    }
+
+  g_object_unref (desktop);
+  return NULL;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/meson.build 
new/at-spi2-core-2.60.4/meson.build
--- old/at-spi2-core-2.60.3/meson.build 2026-04-29 17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/meson.build 2026-05-23 15:19:40.000000000 +0200
@@ -1,5 +1,5 @@
 project('at-spi2-core', 'c',
-        version: '2.60.3',
+        version: '2.60.4',
         license: 'LGPLv2.1+',
         default_options: [
           'buildtype=debugoptimized',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/po/sk.po 
new/at-spi2-core-2.60.4/po/sk.po
--- old/at-spi2-core-2.60.3/po/sk.po    2026-04-29 17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/po/sk.po    2026-05-23 15:19:40.000000000 +0200
@@ -18,8 +18,8 @@
 msgstr ""
 "Project-Id-Version: atk\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n";
-"POT-Creation-Date: 2026-04-11 15:09+0000\n"
-"PO-Revision-Date: 2026-04-23 22:08+0200\n"
+"POT-Creation-Date: 2026-04-29 15:22+0000\n"
+"PO-Revision-Date: 2026-04-30 09:37+0200\n"
 "Last-Translator: Jose Riha <[email protected]>\n"
 "Language-Team: Slovak <[email protected]>\n"
 "Language: sk\n"
@@ -82,8 +82,7 @@
 # property blurb
 #: atk/atkobject.c:274
 msgid "Object instance’s name formatted for assistive technology access"
-msgstr ""
-"Názov inštancie objektu naformátovaný pre zjednodušené ovládanie"
+msgstr "Názov inštancie objektu naformátovaný pre zjednodušené ovládanie"
 
 # property name
 #: atk/atkobject.c:280
@@ -103,7 +102,8 @@
 #: atk/atkobject.c:288
 msgid "Parent of the current accessible as returned by atk_object_get_parent()"
 msgstr ""
-"Rodič aktuálneho zjednodušeného ovládania tak, ako ho vracia funkcia 
atk_object_get_parent()"
+"Rodič aktuálneho zjednodušeného ovládania tak, ako ho vracia funkcia "
+"atk_object_get_parent()"
 
 # property name
 #: atk/atkobject.c:304
@@ -234,7 +234,6 @@
 # pv: podľa mňa nie je zobrazené v UI, len pri návrhu UI. Možno zvážiť názov 
pre prístupnosť. Predstavujem si to ako label pre poli v aplikácii typu designer
 # property name
 #: atk/atkobject.c:440
-#| msgid "Accessible Name"
 msgid "Accessible ID"
 msgstr "ID pre zjednodušené ovládanie"
 
@@ -243,7 +242,6 @@
 msgstr "ID pre dostupnosť; užitočné pre automatizované testovanie"
 
 #: atk/atkobject.c:447
-#| msgid "text"
 msgid "Help text"
 msgstr "Pomocný text"
 
@@ -435,11 +433,11 @@
 
 #: atspi/atspi-misc.c:58
 msgid "check box"
-msgstr "zaškrtávacie pole"
+msgstr "začiarkavacie pole"
 
 #: atspi/atspi-misc.c:59
 msgid "check menu item"
-msgstr "zaškrtávacia položka ponuky"
+msgstr "začiarkavacia položka ponuky"
 
 #: atspi/atspi-misc.c:60
 msgid "color chooser"
@@ -582,7 +580,6 @@
 msgstr "ukazovateľ priebehu"
 
 #: atspi/atspi-misc.c:95
-#| msgid "menu button"
 msgid "button"
 msgstr "tlačidlo"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/po/th.po 
new/at-spi2-core-2.60.4/po/th.po
--- old/at-spi2-core-2.60.3/po/th.po    2026-04-29 17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/po/th.po    2026-05-23 15:19:40.000000000 +0200
@@ -8,15 +8,15 @@
 msgstr ""
 "Project-Id-Version: atk\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/\n";
-"POT-Creation-Date: 2024-08-06 21:05+0000\n"
-"PO-Revision-Date: 2024-10-01 11:49+0700\n"
+"POT-Creation-Date: 2026-04-29 15:22+0000\n"
+"PO-Revision-Date: 2026-04-30 22:06+0700\n"
 "Last-Translator: Theppitak Karoonboonyanan <[email protected]>\n"
 "Language-Team: Thai <[email protected]>\n"
 "Language: th\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.5\n"
+"X-Generator: Poedit 3.9\n"
 
 #: atk/atkhyperlink.c:127
 msgid "Selected Link"
@@ -112,9 +112,11 @@
 
 #: atk/atkobject.c:348
 msgid ""
-"Is used to notify that the table caption has changed; this property should 
not be used. accessible-table-"
-"caption-object should be used instead"
-msgstr "ใช้แจ้งเหตุเมื่อป้ายบรรยายตารางมีการเปลี่ยนแปลง ไม่ควรใช้ช่องข้อมูลนี้ 
แต่ควรใช้ accessible-table-caption-object แทน"
+"Is used to notify that the table caption has changed; this property should 
not be used. "
+"accessible-table-caption-object should be used instead"
+msgstr ""
+"ใช้แจ้งเหตุเมื่อป้ายบรรยายตารางมีการเปลี่ยนแปลง ไม่ควรใช้ช่องข้อมูลนี้ 
แต่ควรใช้ accessible-table-caption-"
+"object แทน"
 
 #: atk/atkobject.c:362
 msgid "Accessible Table Column Header"
@@ -337,480 +339,484 @@
 msgid "best"
 msgstr "ดีที่สุด"
 
-#: atspi/atspi-component.c:352 atspi/atspi-misc.c:1232 atspi/atspi-value.c:123
+#: atspi/atspi-component.c:341 atspi/atspi-misc.c:1232 atspi/atspi-value.c:123
 msgid "The application no longer exists"
 msgstr "แอปพลิเคชันไม่มีอยู่อีกต่อไปแล้ว"
 
-#: atspi/atspi-misc.c:49
+#: atspi/atspi-misc.c:51
 msgid "invalid"
 msgstr "ไม่ถูกต้อง"
 
-#: atspi/atspi-misc.c:50
+#: atspi/atspi-misc.c:52
 msgid "accelerator label"
 msgstr "ฉลากคีย์ด่วน"
 
-#: atspi/atspi-misc.c:51
+#: atspi/atspi-misc.c:53
 msgid "alert"
 msgstr "แจ้งเหตุ"
 
-#: atspi/atspi-misc.c:52
+#: atspi/atspi-misc.c:54
 msgid "animation"
 msgstr "ภาพเคลื่อนไหว"
 
-#: atspi/atspi-misc.c:53
+#: atspi/atspi-misc.c:55
 msgid "arrow"
 msgstr "ลูกศร"
 
-#: atspi/atspi-misc.c:54
+#: atspi/atspi-misc.c:56
 msgid "calendar"
 msgstr "ปฏิทิน"
 
-#: atspi/atspi-misc.c:55
+#: atspi/atspi-misc.c:57
 msgid "canvas"
 msgstr "ผ้าใบวาดรูป"
 
-#: atspi/atspi-misc.c:56
+#: atspi/atspi-misc.c:58
 msgid "check box"
 msgstr "กล่องกาเครื่องหมาย"
 
-#: atspi/atspi-misc.c:57
+#: atspi/atspi-misc.c:59
 msgid "check menu item"
 msgstr "รายการเมนูกาเครื่องหมาย"
 
-#: atspi/atspi-misc.c:58
+#: atspi/atspi-misc.c:60
 msgid "color chooser"
 msgstr "กล่องเลือกสี"
 
-#: atspi/atspi-misc.c:59
+#: atspi/atspi-misc.c:61
 msgid "column header"
 msgstr "หัวข้อคอลัมน์"
 
-#: atspi/atspi-misc.c:60
+#: atspi/atspi-misc.c:62
 msgid "combo box"
 msgstr "กล่องคอมโบ"
 
-#: atspi/atspi-misc.c:61
+#: atspi/atspi-misc.c:63
 msgid "dateeditor"
 msgstr "กล่องแก้ไขวันที่"
 
-#: atspi/atspi-misc.c:62
+#: atspi/atspi-misc.c:64
 msgid "desktop icon"
 msgstr "ไอคอนเดสก์ท็อป"
 
-#: atspi/atspi-misc.c:63
+#: atspi/atspi-misc.c:65
 msgid "desktop frame"
 msgstr "กรอบเดสก์ท็อป"
 
-#: atspi/atspi-misc.c:64
+#: atspi/atspi-misc.c:66
 msgid "dial"
 msgstr "หมุนโทรศัพท์"
 
-#: atspi/atspi-misc.c:65
+#: atspi/atspi-misc.c:67
 msgid "dialog"
 msgstr "กล่องโต้ตอบ"
 
-#: atspi/atspi-misc.c:66
+#: atspi/atspi-misc.c:68
 msgid "directory pane"
 msgstr "ช่องไดเรกทอรี"
 
-#: atspi/atspi-misc.c:67
+#: atspi/atspi-misc.c:69
 msgid "drawing area"
 msgstr "พื้นที่วาดรูป"
 
-#: atspi/atspi-misc.c:68
+#: atspi/atspi-misc.c:70
 msgid "file chooser"
 msgstr "กล่องเลือกไฟล์"
 
-#: atspi/atspi-misc.c:69
+#: atspi/atspi-misc.c:71
 msgid "filler"
 msgstr "ช่องเติม"
 
 #. I know it looks wrong but that is what Java returns
-#: atspi/atspi-misc.c:71
+#: atspi/atspi-misc.c:73
 msgid "fontchooser"
 msgstr "กล่องเลือกแบบอักษร"
 
-#: atspi/atspi-misc.c:72
+#: atspi/atspi-misc.c:74
 msgid "frame"
 msgstr "กรอบ"
 
-#: atspi/atspi-misc.c:73
+#: atspi/atspi-misc.c:75
 msgid "glass pane"
 msgstr "ช่องหน้าต่างแบบใส"
 
-#: atspi/atspi-misc.c:74
+#: atspi/atspi-misc.c:76
 msgid "html container"
 msgstr "เครื่องบรรจุ html"
 
-#: atspi/atspi-misc.c:75
+#: atspi/atspi-misc.c:77
 msgid "icon"
 msgstr "ไอคอน"
 
-#: atspi/atspi-misc.c:76
+#: atspi/atspi-misc.c:78
 msgid "image"
 msgstr "รูปภาพ"
 
-#: atspi/atspi-misc.c:77
+#: atspi/atspi-misc.c:79
 msgid "internal frame"
 msgstr "กรอบภายใน"
 
-#: atspi/atspi-misc.c:78
+#: atspi/atspi-misc.c:80
 msgid "label"
 msgstr "ป้ายชื่อ"
 
-#: atspi/atspi-misc.c:79
+#: atspi/atspi-misc.c:81
 msgid "layered pane"
 msgstr "ช่องหน้าต่างแบบเป็นชั้น"
 
-#: atspi/atspi-misc.c:80
+#: atspi/atspi-misc.c:82
 msgid "list"
 msgstr "รายชื่อ"
 
-#: atspi/atspi-misc.c:81
+#: atspi/atspi-misc.c:83
 msgid "list item"
 msgstr "รายการรายชื่อ"
 
-#: atspi/atspi-misc.c:82
+#: atspi/atspi-misc.c:84
 msgid "menu"
 msgstr "เมนู"
 
-#: atspi/atspi-misc.c:83
+#: atspi/atspi-misc.c:85
 msgid "menu bar"
 msgstr "แถบเมนู"
 
-#: atspi/atspi-misc.c:84
+#: atspi/atspi-misc.c:86
 msgid "menu button"
 msgstr "ปุ่มเมนู"
 
-#: atspi/atspi-misc.c:85
+#: atspi/atspi-misc.c:87
 msgid "menu item"
 msgstr "รายการเมนู"
 
-#: atspi/atspi-misc.c:86
+#: atspi/atspi-misc.c:88
 msgid "option pane"
 msgstr "ช่องหน้าต่างตัวเลือก"
 
-#: atspi/atspi-misc.c:87
+#: atspi/atspi-misc.c:89
 msgid "page tab"
 msgstr "แท็บของหน้า"
 
-#: atspi/atspi-misc.c:88
+#: atspi/atspi-misc.c:90
 msgid "page tab list"
 msgstr "รายการแท็บของหน้า"
 
-#: atspi/atspi-misc.c:89
+#: atspi/atspi-misc.c:91
 msgid "panel"
 msgstr "พาเนล"
 
-#: atspi/atspi-misc.c:90
+#: atspi/atspi-misc.c:92
 msgid "password text"
 msgstr "ข้อความรหัสผ่าน"
 
-#: atspi/atspi-misc.c:91
+#: atspi/atspi-misc.c:93
 msgid "popup menu"
 msgstr "เมนูผุดขึ้น"
 
-#: atspi/atspi-misc.c:92
+#: atspi/atspi-misc.c:94
 msgid "progress bar"
 msgstr "แถบบอกความคืบหน้า"
 
-#: atspi/atspi-misc.c:93
+#: atspi/atspi-misc.c:95
 msgid "button"
 msgstr "ปุ่ม"
 
-#: atspi/atspi-misc.c:94
+#: atspi/atspi-misc.c:96
 msgid "radio button"
 msgstr "ปุ่มวิทยุ"
 
-#: atspi/atspi-misc.c:95
+#: atspi/atspi-misc.c:97
 msgid "radio menu item"
 msgstr "รายการเมนูแบบปุ่มวิทยุ"
 
-#: atspi/atspi-misc.c:96
+#: atspi/atspi-misc.c:98
 msgid "root pane"
 msgstr "ช่องหลัก"
 
-#: atspi/atspi-misc.c:97
+#: atspi/atspi-misc.c:99
 msgid "row header"
 msgstr "หัวแถว"
 
-#: atspi/atspi-misc.c:98
+#: atspi/atspi-misc.c:100
 msgid "scroll bar"
 msgstr "แถบเลื่อน"
 
-#: atspi/atspi-misc.c:99
+#: atspi/atspi-misc.c:101
 msgid "scroll pane"
 msgstr "ช่องแถบเลื่อน"
 
-#: atspi/atspi-misc.c:100
+#: atspi/atspi-misc.c:102
 msgid "separator"
 msgstr "เส้นแบ่ง"
 
-#: atspi/atspi-misc.c:101
+#: atspi/atspi-misc.c:103
 msgid "slider"
 msgstr "ปุ่มรางเลื่อน"
 
-#: atspi/atspi-misc.c:102
+#: atspi/atspi-misc.c:104
 msgid "split pane"
 msgstr "กล่องแบ่งช่อง"
 
-#: atspi/atspi-misc.c:103
+#: atspi/atspi-misc.c:105
 msgid "spin button"
 msgstr "ปุ่มปรับเลข"
 
-#: atspi/atspi-misc.c:104
+#: atspi/atspi-misc.c:106
 msgid "statusbar"
 msgstr "แถบสถานะ"
 
-#: atspi/atspi-misc.c:105
+#: atspi/atspi-misc.c:107
+msgid "switch"
+msgstr "สวิตช์"
+
+#: atspi/atspi-misc.c:108
 msgid "table"
 msgstr "ตาราง"
 
-#: atspi/atspi-misc.c:106
+#: atspi/atspi-misc.c:109
 msgid "table cell"
 msgstr "เซลล์ตาราง"
 
-#: atspi/atspi-misc.c:107
+#: atspi/atspi-misc.c:110
 msgid "table column header"
 msgstr "หัวคอลัมน์ของตาราง"
 
-#: atspi/atspi-misc.c:108
+#: atspi/atspi-misc.c:111
 msgid "table row header"
 msgstr "หัวแถวของตาราง"
 
-#: atspi/atspi-misc.c:109
+#: atspi/atspi-misc.c:112
 msgid "tear off menu item"
 msgstr "รายการเมนูฉีกออก"
 
-#: atspi/atspi-misc.c:110
+#: atspi/atspi-misc.c:113
 msgid "terminal"
 msgstr "เทอร์มินัล"
 
-#: atspi/atspi-misc.c:111
+#: atspi/atspi-misc.c:114
 msgid "text"
 msgstr "ข้อความ"
 
-#: atspi/atspi-misc.c:112
+#: atspi/atspi-misc.c:115
 msgid "toggle button"
 msgstr "ปุ่มสลับค่า"
 
-#: atspi/atspi-misc.c:113
+#: atspi/atspi-misc.c:116
 msgid "tool bar"
 msgstr "แถบเครื่องมือ"
 
-#: atspi/atspi-misc.c:114
+#: atspi/atspi-misc.c:117
 msgid "tool tip"
 msgstr "คำแนะนำเครื่องมือ"
 
-#: atspi/atspi-misc.c:115
+#: atspi/atspi-misc.c:118
 msgid "tree"
 msgstr "ต้นไม้"
 
-#: atspi/atspi-misc.c:116
+#: atspi/atspi-misc.c:119
 msgid "tree table"
 msgstr "ตารางแบบต้นไม้"
 
-#: atspi/atspi-misc.c:117
+#: atspi/atspi-misc.c:120
 msgid "unknown"
 msgstr "ไม่ทราบ"
 
-#: atspi/atspi-misc.c:118
+#: atspi/atspi-misc.c:121
 msgid "viewport"
 msgstr "ช่องมอง"
 
-#: atspi/atspi-misc.c:119
+#: atspi/atspi-misc.c:122
 msgid "window"
 msgstr "หน้าต่าง"
 
-#: atspi/atspi-misc.c:120
+#: atspi/atspi-misc.c:123
 msgid "header"
 msgstr "หัวกระดาษ"
 
-#: atspi/atspi-misc.c:121
+#: atspi/atspi-misc.c:124
 msgid "footer"
 msgstr "ท้ายกระดาษ"
 
-#: atspi/atspi-misc.c:122
+#: atspi/atspi-misc.c:125
 msgid "paragraph"
 msgstr "ย่อหน้า"
 
-#: atspi/atspi-misc.c:123
+#: atspi/atspi-misc.c:126
 msgid "ruler"
 msgstr "ไม้บรรทัด"
 
-#: atspi/atspi-misc.c:124
+#: atspi/atspi-misc.c:127
 msgid "application"
 msgstr "โปรแกรม"
 
-#: atspi/atspi-misc.c:125
+#: atspi/atspi-misc.c:128
 msgid "autocomplete"
 msgstr "เติมเต็มคำอัตโนมัติ"
 
-#: atspi/atspi-misc.c:126
+#: atspi/atspi-misc.c:129
 msgid "edit bar"
 msgstr "แถบแก้ไข"
 
-#: atspi/atspi-misc.c:127
+#: atspi/atspi-misc.c:130
 msgid "embedded component"
 msgstr "องค์ประกอบฝังตัว"
 
-#: atspi/atspi-misc.c:128
+#: atspi/atspi-misc.c:131
 msgid "entry"
 msgstr "ช่องป้อนข้อความ"
 
-#: atspi/atspi-misc.c:129
+#: atspi/atspi-misc.c:132
 msgid "chart"
 msgstr "แผนภูมิ"
 
-#: atspi/atspi-misc.c:130
+#: atspi/atspi-misc.c:133
 msgid "caption"
 msgstr "ป้ายบรรยาย"
 
-#: atspi/atspi-misc.c:131
+#: atspi/atspi-misc.c:134
 msgid "document frame"
 msgstr "กรอบเอกสาร"
 
-#: atspi/atspi-misc.c:132
+#: atspi/atspi-misc.c:135
 msgid "heading"
 msgstr "หัวข้อเรื่อง"
 
-#: atspi/atspi-misc.c:133
+#: atspi/atspi-misc.c:136
 msgid "page"
 msgstr "หน้า"
 
-#: atspi/atspi-misc.c:134
+#: atspi/atspi-misc.c:137
 msgid "section"
 msgstr "หัวข้อ"
 
-#: atspi/atspi-misc.c:135
+#: atspi/atspi-misc.c:138
 msgid "redundant object"
 msgstr "ออบเจกต์ส่วนเกิน"
 
-#: atspi/atspi-misc.c:136
+#: atspi/atspi-misc.c:139
 msgid "form"
 msgstr "แบบฟอร์ม"
 
-#: atspi/atspi-misc.c:137
+#: atspi/atspi-misc.c:140
 msgid "link"
 msgstr "ลิงก์"
 
-#: atspi/atspi-misc.c:138
+#: atspi/atspi-misc.c:141
 msgid "input method window"
 msgstr "หน้าต่างวิธีป้อนข้อความ"
 
-#: atspi/atspi-misc.c:139
+#: atspi/atspi-misc.c:142
 msgid "table row"
 msgstr "แถวของตาราง"
 
-#: atspi/atspi-misc.c:140
+#: atspi/atspi-misc.c:143
 msgid "tree item"
 msgstr "รายการในต้นไม้"
 
-#: atspi/atspi-misc.c:141
+#: atspi/atspi-misc.c:144
 msgid "document spreadsheet"
 msgstr "เอกสารตารางคำนวณ"
 
-#: atspi/atspi-misc.c:142
+#: atspi/atspi-misc.c:145
 msgid "document presentation"
 msgstr "เอกสารงานนำเสนอ"
 
-#: atspi/atspi-misc.c:143
+#: atspi/atspi-misc.c:146
 msgid "document text"
 msgstr "เอกสารข้อความ"
 
-#: atspi/atspi-misc.c:144
+#: atspi/atspi-misc.c:147
 msgid "document web"
 msgstr "เอกสารเว็บ"
 
-#: atspi/atspi-misc.c:145
+#: atspi/atspi-misc.c:148
 msgid "document email"
 msgstr "เอกสารอีเมล"
 
-#: atspi/atspi-misc.c:146
+#: atspi/atspi-misc.c:149
 msgid "comment"
 msgstr "หมายเหตุ"
 
-#: atspi/atspi-misc.c:147
+#: atspi/atspi-misc.c:150
 msgid "list box"
 msgstr "กล่องรายการ"
 
-#: atspi/atspi-misc.c:148
+#: atspi/atspi-misc.c:151
 msgid "grouping"
 msgstr "การจัดกลุ่ม"
 
-#: atspi/atspi-misc.c:149
+#: atspi/atspi-misc.c:152
 msgid "image map"
 msgstr "แผนที่ในรูปภาพ"
 
-#: atspi/atspi-misc.c:150
+#: atspi/atspi-misc.c:153
 msgid "notification"
 msgstr "การแจ้งเหตุ"
 
-#: atspi/atspi-misc.c:151
+#: atspi/atspi-misc.c:154
 msgid "info bar"
 msgstr "แถบข้อมูล"
 
-#: atspi/atspi-misc.c:152
+#: atspi/atspi-misc.c:155
 msgid "level bar"
 msgstr "แถบระดับ"
 
-#: atspi/atspi-misc.c:153
+#: atspi/atspi-misc.c:156
 msgid "title bar"
 msgstr "แถบชื่อ"
 
-#: atspi/atspi-misc.c:154
+#: atspi/atspi-misc.c:157
 msgid "block quote"
 msgstr "ข้อความอ้างอิง"
 
-#: atspi/atspi-misc.c:155
+#: atspi/atspi-misc.c:158
 msgid "audio"
 msgstr "เสียง"
 
-#: atspi/atspi-misc.c:156
+#: atspi/atspi-misc.c:159
 msgid "video"
 msgstr "วิดีโอ"
 
-#: atspi/atspi-misc.c:157
+#: atspi/atspi-misc.c:160
 msgid "definition"
 msgstr "ความคมชัด"
 
-#: atspi/atspi-misc.c:158
+#: atspi/atspi-misc.c:161
 msgid "article"
 msgstr "บทความ"
 
-#: atspi/atspi-misc.c:159
+#: atspi/atspi-misc.c:162
 msgid "landmark"
 msgstr "ตำแหน่งสำคัญ"
 
-#: atspi/atspi-misc.c:160
+#: atspi/atspi-misc.c:163
 msgid "log"
 msgstr "ปูมบันทึก"
 
-#: atspi/atspi-misc.c:161
+#: atspi/atspi-misc.c:164
 msgid "marquee"
 msgstr "ตัวอักษรวิ่ง"
 
-#: atspi/atspi-misc.c:162
+#: atspi/atspi-misc.c:165
 msgid "math"
 msgstr "คณิตศาสตร์"
 
-#: atspi/atspi-misc.c:163
+#: atspi/atspi-misc.c:166
 msgid "rating"
 msgstr "การจัดระดับ"
 
-#: atspi/atspi-misc.c:164
+#: atspi/atspi-misc.c:167
 msgid "timer"
 msgstr "เวลานับถอยหลัง"
 
-#: atspi/atspi-misc.c:165
+#: atspi/atspi-misc.c:168
 msgid "description list"
 msgstr "รายชื่อคำอธิบาย"
 
-#: atspi/atspi-misc.c:166
+#: atspi/atspi-misc.c:169
 msgid "description term"
 msgstr "คำบอกรายละเอียด"
 
-#: atspi/atspi-misc.c:167
+#: atspi/atspi-misc.c:170
 msgid "description value"
 msgstr "ค่าของคำอธิบาย"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/registryd/registry.c 
new/at-spi2-core-2.60.4/registryd/registry.c
--- old/at-spi2-core-2.60.3/registryd/registry.c        2026-04-29 
17:23:50.000000000 +0200
+++ new/at-spi2-core-2.60.4/registryd/registry.c        2026-05-23 
15:19:40.000000000 +0200
@@ -314,7 +314,7 @@
 }
 
 static void
-remove_events (SpiRegistry *registry, const char *bus_name, const char *event)
+remove_events (SpiRegistry *registry, const char *bus_name, const char *event, 
const char *app)
 {
   gchar **remove_data;
   GList *list;
@@ -332,6 +332,7 @@
       EventData *evdata = list->data;
       list = list->next;
       if (!g_strcmp0 (evdata->listener_bus_name, bus_name) &&
+          (!event[0] || !g_strcmp0 (evdata->app_bus_name, app)) &&
           event_is_subtype (evdata->data, remove_data))
         {
           g_strfreev (evdata->data);
@@ -387,7 +388,7 @@
                 }
             }
 
-          remove_events (registry, old, "");
+          remove_events (registry, old, "", "");
         }
     }
 }
@@ -1050,13 +1051,27 @@
   const char *orig_name;
   gchar *name;
   const char *sender = dbus_message_get_sender (message);
+  const char *signature = dbus_message_get_signature (message);
+  const char *app;
 
-  if (!dbus_message_get_args (message, NULL, DBUS_TYPE_STRING, &orig_name,
-                              DBUS_TYPE_INVALID))
+  if (strcmp (signature, "s") == 0)
+    {
+      dbus_message_get_args (message, NULL, DBUS_TYPE_STRING, &orig_name,
+                             DBUS_TYPE_INVALID);
+      app = "";
+    }
+  else if (strcmp (signature, "ss") == 0)
+    {
+      dbus_message_get_args (message, NULL, DBUS_TYPE_STRING, &orig_name,
+                             DBUS_TYPE_STRING, &app,
+                             DBUS_TYPE_INVALID);
+    }
+  else
     return NULL;
+
   name = ensure_proper_format (orig_name);
 
-  remove_events (registry, sender, name);
+  remove_events (registry, sender, name, app);
 
   g_free (name);
   return dbus_message_new_method_return (message);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/at-spi2-core-2.60.3/xml/Registry.xml 
new/at-spi2-core-2.60.4/xml/Registry.xml
--- old/at-spi2-core-2.60.3/xml/Registry.xml    2026-04-29 17:23:50.000000000 
+0200
+++ new/at-spi2-core-2.60.4/xml/Registry.xml    2026-05-23 15:19:40.000000000 
+0200
@@ -59,12 +59,17 @@
         deregistered. See RegisterEvent for a description of the format of
         this string.
 
+        @app_bus_name: The application that this request pertains to.
+        If the event listener was registered only for a certain application,
+        then the value passed should matched the app_bus_name passed for the
+        corresponding RegisterEvent call.
+
         Indicates that an AT is no longer interested in listening to a
         particular event.
-        TODO: Add app_bus_name here.
     -->
     <method name="DeregisterEvent">
       <arg direction="in" name="event" type="s"/>
+      <arg direction="in" name="app_bus_name" type="s"/>
     </method>
 
     <!--

++++++ at-spi2-core.obsinfo ++++++
--- /var/tmp/diff_new_pack.k83LyA/_old  2026-05-30 22:56:11.427485104 +0200
+++ /var/tmp/diff_new_pack.k83LyA/_new  2026-05-30 22:56:11.435485432 +0200
@@ -1,5 +1,5 @@
 name: at-spi2-core
-version: 2.60.3
-mtime: 1777476230
-commit: d2c5f8a4663c286eb927a6e4ed799135fcaf3018
+version: 2.60.4
+mtime: 1779542380
+commit: 533995e24ec8a3e32cda623dfc79f38aea83bd25
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-05-23 16:44:36.000000000 +0200
@@ -0,0 +1,5 @@
+*.obscpio
+*.osc
+_build.*
+.pbuild
+osc-collab.*

Reply via email to