Hello community,
here is the log from the commit of package at-spi2-atk for openSUSE:Factory
checked in at Mon Jun 6 12:43:42 CEST 2011.
--------
--- GNOME/at-spi2-atk/at-spi2-atk.changes 2011-04-27 10:46:50.000000000 +0200
+++ /mounts/work_src_done/STABLE/at-spi2-atk/at-spi2-atk.changes 2011-06-01 16:40:16.000000000 +0200
@@ -1,0 +2,25 @@
+Wed Jun 1 16:39:18 CEST 2011 - vuntz@opensuse.org
+
+- Rename the main binary package to at-spi2-atk-common, as it only
+ contains files common to the gtk2/gtk3 subpackages, and nothing
+ else. Add appropriate Provides/Obsoletes for upgrades.
+
+-------------------------------------------------------------------
+Mon May 30 14:20:58 UTC 2011 - fcrozat@suse.com
+
+- Update to version 2.0.2:
+ + Fix matching on attributes for collection methods.
+ + bgo#650286: Ensure valid UTF-8 from ATK.
+ + Always emit children-changed, property-change, and
+ state-changed events, in order to keep caches synchronized.
+ + Add GetAtspiVersion to fetch the version of the AT-SPI
+ specification provided by an application.
+
+-------------------------------------------------------------------
+Sat May 7 17:08:37 UTC 2011 - nmarques@opensuse.org
+
+- Split GTK+ modules in two subpackages (at-spi2-atk-gtk2 and
+ at-spi2-atk-gtk3) to avoid this package depending on both gtk2
+ and gtk3. Fix bnc#675959.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
at-spi2-atk-2.0.1.tar.bz2
New:
----
at-spi2-atk-2.0.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ at-spi2-atk.spec ++++++
--- /var/tmp/diff_new_pack.9oDit4/_old 2011-06-06 12:41:14.000000000 +0200
+++ /var/tmp/diff_new_pack.9oDit4/_new 2011-06-06 12:41:14.000000000 +0200
@@ -18,7 +18,7 @@
Name: at-spi2-atk
-Version: 2.0.1
+Version: 2.0.2
Release: 1
Summary: Assistive Technology Service Provider Interface - GTK+ module
License: GPLv2+
@@ -32,24 +32,63 @@
BuildRequires: intltool
BuildRequires: translation-update-upstream
BuildRequires: pkgconfig(atspi-2)
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+AT-SPI is a general interface for applications to make use of the
+accessibility toolkit. This version is based on dbus.
+
+%package common
+
+Summary: Assistive Technology Service Provider Interface -- Common Files for GTK+ Modules
+Group: System/Libraries
# The GTK+ module is useful only if the at-spi registry is running. But it's
# not a strict runtime dependency.
Recommends: at-spi2-core
+Provides: %{name} = %{version}
+Obsoletes: %{name} < %{version}
# The library that was shipped with at-spi2-atk was removed.
Obsoletes: libcspi0 <= 0.1.1
Obsoletes: libcspi-devel <= 0.1.1
-# We want to have this package installed if the user has gtk+ and the at-spi
+
+%description common
+AT-SPI is a general interface for applications to make use of the
+accessibility toolkit. This version is based on dbus.
+
+This package contains files common to the GTK+ 2 and GTK+ 3 modules
+for at-spi.
+
+%package gtk2
+
+Summary: Assistive Technology Service Provider Interface - GTK+ 2 Module
+Group: System/Libraries
+Requires: %{name}-common = %{version}
+# We want to have this package installed if the user has gtk2 and the at-spi
# stack already installed
Supplements: packageand(at-spi2-core:gtk2)
+
+%description gtk2
+AT-SPI is a general interface for applications to make use of the
+accessibility toolkit. This version is based on dbus.
+
+This package contains the GTK+ 2 module for at-spi, based on ATK.
+
+%package gtk3
+
+Summary: Assistive Technology Service Provider Interface - GTK+ 3 Module
+Group: System/Libraries
+Requires: %{name}-common = %{version}
+# We want to have this package installed if the user has gtk3 and the at-spi
+# stack already installed
Supplements: packageand(at-spi2-core:gtk3)
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires
-%description
+%description gtk3
AT-SPI is a general interface for applications to make use of the
accessibility toolkit. This version is based on dbus.
-This package contains a GTK+ module for at-spi, based on ATK.
+This package contains the GTK+ 3 module for at-spi, based on ATK.
+
%lang_package
%prep
@@ -75,22 +114,30 @@
%clean
rm -rf %{buildroot}
-%post
+%post gtk3
%glib2_gsettings_schema_post
-%postun
+%postun gtk3
%glib2_gsettings_schema_postun
-%files
+%files common
%defattr(-,root,root)
-%doc AUTHORS COPYING README
%dir %{_libdir}/gnome-settings-daemon-3.0
%dir %{_libdir}/gnome-settings-daemon-3.0/gtk-modules
%{_libdir}/gnome-settings-daemon-3.0/gtk-modules/at-spi2-atk.desktop
+
+%files gtk2
+%defattr(-,root,root)
+%doc AUTHORS COPYING README
%{_libdir}/gtk-2.0/modules/libatk-bridge.so
+
+%files gtk3
+%defattr(-,root,root)
+%doc AUTHORS COPYING README
%dir %{_libdir}/gtk-3.0
%dir %{_libdir}/gtk-3.0/modules
%{_libdir}/gtk-3.0/modules/libatk-bridge.so
+# The schema only contains information relevant to the gtk3 module
%{_datadir}/glib-2.0/schemas/org.a11y.atspi.gschema.xml
%files lang -f %{name}.lang
++++++ at-spi2-atk-2.0.1.tar.bz2 -> at-spi2-atk-2.0.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-atk-2.0.1/NEWS new/at-spi2-atk-2.0.2/NEWS
--- old/at-spi2-atk-2.0.1/NEWS 2011-04-26 00:31:14.000000000 +0200
+++ new/at-spi2-atk-2.0.2/NEWS 2011-05-24 01:38:02.000000000 +0200
@@ -1,3 +1,15 @@
+What's new in at-spi2-atk 2.0.2:
+
+* Fix matching on attributes for collection methods
+
+* Fix for BGO#650286: Ensure valid UTF-8 from ATK
+
+* Always emit children-changed, property-change, and state-changed events, in
+ order to keep caches synchronized.
+
+* Add GetAtspiVersion to fetch the version of the AT-SPI specification provided
+ by an application.
+
What's new in at-spi2-atk 2.0.1:
* Fix a memory leak in impl_GetText
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-atk-2.0.1/atk-adaptor/adaptors/application-adaptor.c new/at-spi2-atk-2.0.2/atk-adaptor/adaptors/application-adaptor.c
--- old/at-spi2-atk-2.0.1/atk-adaptor/adaptors/application-adaptor.c 2010-12-03 21:47:06.000000000 +0100
+++ new/at-spi2-atk-2.0.2/atk-adaptor/adaptors/application-adaptor.c 2011-05-24 01:14:19.000000000 +0200
@@ -43,6 +43,12 @@
return droute_return_v_string (iter, atk_get_toolkit_version ());
}
+static dbus_bool_t
+impl_get_AtspiVersion (DBusMessageIter * iter, void *user_data)
+{
+ return droute_return_v_string (iter, "2.0");
+}
+
static dbus_int32_t id;
static dbus_bool_t
@@ -120,6 +126,7 @@
static DRouteProperty properties[] = {
{impl_get_ToolkitName, NULL, "ToolkitName"},
{impl_get_Version, NULL, "Version"},
+ {impl_get_AtspiVersion, NULL, "AtspiVersion"},
{impl_get_Id, impl_set_Id, "Id"},
{NULL, NULL, NULL}
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-atk-2.0.1/atk-adaptor/adaptors/collection-adaptor.c new/at-spi2-atk-2.0.2/atk-adaptor/adaptors/collection-adaptor.c
--- old/at-spi2-atk-2.0.1/atk-adaptor/adaptors/collection-adaptor.c 2011-02-21 23:42:35.000000000 +0100
+++ new/at-spi2-atk-2.0.2/atk-adaptor/adaptors/collection-adaptor.c 2011-05-16 17:49:38.000000000 +0200
@@ -397,7 +397,7 @@
AtkAttribute *attr = g_slist_nth_data (attributes, i);
for (k = 0; k < oa_length; k++)
{
- AtkAttribute *oa_attr = g_slist_nth_data (attributes, i);
+ AtkAttribute *oa_attr = g_slist_nth_data (oa, k);
if (!g_ascii_strcasecmp (oa_attr->name, attr->name) &&
!g_ascii_strcasecmp (oa_attr->value, attr->value))
{
@@ -676,14 +676,12 @@
const char *key, *val;
dbus_message_iter_recurse (&iter_dict, &iter_dict_entry);
dbus_message_iter_get_basic (&iter_dict_entry, &key);
+ dbus_message_iter_next (&iter_dict_entry);
dbus_message_iter_get_basic (&iter_dict_entry, &val);
attr = g_new (AtkAttribute, 1);
- if (attr)
- {
- attr->name = g_strdup (key);
- attr->value = g_strdup (val);
- mrp->attributes = g_slist_prepend (mrp->attributes, attr);
- }
+ attr->name = g_strdup (key);
+ attr->value = g_strdup (val);
+ mrp->attributes = g_slist_prepend (mrp->attributes, attr);
dbus_message_iter_next (&iter_dict);
}
dbus_message_iter_next (&iter_struct);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-atk-2.0.1/atk-adaptor/adaptors/text-adaptor.c new/at-spi2-atk-2.0.2/atk-adaptor/adaptors/text-adaptor.c
--- old/at-spi2-atk-2.0.1/atk-adaptor/adaptors/text-adaptor.c 2010-02-19 16:57:00.000000000 +0100
+++ new/at-spi2-atk-2.0.2/atk-adaptor/adaptors/text-adaptor.c 2011-05-16 22:20:35.000000000 +0200
@@ -47,6 +47,20 @@
return droute_return_v_int32 (iter, atk_text_get_caret_offset (text));
}
+static gchar *
+validate_allocated_string (gchar *str)
+{
+ if (!str)
+ return g_strdup ("");
+ if (!g_utf8_validate (str, -1, NULL))
+ {
+ g_warning ("atk-bridge: received bad UTF-8 string from a get_text function");
+ g_free (str);
+ return g_strdup ("");
+ }
+ return str;
+}
+
static DBusMessage *
impl_GetText (DBusConnection * bus, DBusMessage * message, void *user_data)
{
@@ -66,8 +80,7 @@
return droute_invalid_arguments_error (message);
}
txt = atk_text_get_text (text, startOffset, endOffset);
- if (!txt)
- txt = g_strdup ("");
+ txt = validate_allocated_string (txt);
reply = dbus_message_new_method_return (message);
if (reply)
{
@@ -133,8 +146,7 @@
&intstart_offset, &intend_offset);
startOffset = intstart_offset;
endOffset = intend_offset;
- if (!txt)
- txt = g_strdup ("");
+ txt = validate_allocated_string (txt);
reply = dbus_message_new_method_return (message);
if (reply)
{
@@ -173,8 +185,7 @@
&intstart_offset, &intend_offset);
startOffset = intstart_offset;
endOffset = intend_offset;
- if (!txt)
- txt = g_strdup ("");
+ txt = validate_allocated_string (txt);
reply = dbus_message_new_method_return (message);
if (reply)
{
@@ -214,8 +225,7 @@
&intstart_offset, &intend_offset);
startOffset = intstart_offset;
endOffset = intend_offset;
- if (!txt)
- txt = g_strdup ("");
+ txt = validate_allocated_string (txt);
reply = dbus_message_new_method_return (message);
if (reply)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-atk-2.0.1/atk-adaptor/event.c new/at-spi2-atk-2.0.2/atk-adaptor/event.c
--- old/at-spi2-atk-2.0.1/atk-adaptor/event.c 2011-04-08 23:08:48.000000000 +0200
+++ new/at-spi2-atk-2.0.2/atk-adaptor/event.c 2011-05-24 01:14:17.000000000 +0200
@@ -230,7 +230,7 @@
}
static const void *
-replace_null (const gint type,
+validate_for_dbus (const gint type,
const void *val)
{
switch (type)
@@ -239,6 +239,11 @@
case DBUS_TYPE_OBJECT_PATH:
if (!val)
return "";
+ else if (!g_utf8_validate (val, -1, NULL))
+ {
+ g_warning ("atk-bridge: Received bad UTF-8 string when emitting event");
+ return "";
+ }
else
return val;
default:
@@ -255,7 +260,7 @@
dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, type, &sub);
- val = replace_null ((int) *type, val);
+ val = validate_for_dbus ((int) *type, val);
dbus_message_iter_append_basic(&sub, (int) *type, &val);
dbus_message_iter_close_container(iter, &sub);
@@ -360,6 +365,19 @@
data [2] = ensure_proper_format (minor);
data [3] = NULL;
+ /* Hack: Always pass events that update the cache.
+ * TODO: FOr 2.2, have at-spi2-core define a special "cache listener" for
+ * this instead, so that we don't send these if no one is listening */
+ if (!g_strcmp0 (data [1], "ChildrenChanged") ||
+ !g_strcmp0 (data [1], "PropertyChange") ||
+ !g_strcmp0 (data [1], "StateChanged"))
+ {
+ g_free (data [2]);
+ g_free (data [1]);
+ g_free (data [0]);
+ return TRUE;
+ }
+
/* Hack: events such as "object::text-changed::insert:system" as
generated by Gecko */
data [2][strcspn (data [2], ":")] = '\0';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/at-spi2-atk-2.0.1/configure new/at-spi2-atk-2.0.2/configure
--- old/at-spi2-atk-2.0.1/configure 2011-04-26 00:32:08.000000000 +0200
+++ new/at-spi2-atk-2.0.2/configure 2011-05-24 01:38:21.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for at-spi2-atk 2.0.1.
+# Generated by GNU Autoconf 2.68 for at-spi2-atk 2.0.2.
#
# Report bugs to