diff --git a/.atk.metadata b/.atk.metadata index 66f9b55..f6d7224 100644 --- a/.atk.metadata +++ b/.atk.metadata @@ -1 +1 @@ -bcb9ee62a0fd1d9262684d20b429bc8f5b2c4eaa SOURCES/atk-2.22.0.tar.xz +aff82397db3b3121c4c01eba0904c9355347c6be SOURCES/atk-2.28.1.tar.xz diff --git a/.gitignore b/.gitignore index b9480af..cfae4da 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/atk-2.22.0.tar.xz +SOURCES/atk-2.28.1.tar.xz diff --git a/SOURCES/atk-use-after-free.patch b/SOURCES/atk-use-after-free.patch deleted file mode 100644 index ddd1254..0000000 --- a/SOURCES/atk-use-after-free.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -up atk-2.22.0/atk/atkgobjectaccessible.c.use-after-free atk-2.22.0/atk/atkgobjectaccessible.c ---- atk-2.22.0/atk/atkgobjectaccessible.c.use-after-free 2016-09-19 15:26:16.000000000 +0200 -+++ atk-2.22.0/atk/atkgobjectaccessible.c 2017-05-22 19:31:40.538875766 +0200 -@@ -37,7 +37,7 @@ - static void atk_gobject_accessible_class_init (AtkGObjectAccessibleClass *klass); - static void atk_real_gobject_accessible_initialize (AtkObject *atk_obj, - gpointer data); --static void atk_gobject_accessible_dispose (gpointer data); -+static void atk_gobject_accessible_object_gone_cb (gpointer data); - - static GQuark quark_accessible_object = 0; - static GQuark quark_object = 0; -@@ -88,8 +88,7 @@ atk_gobject_accessible_for_object (GObje - g_return_val_if_fail (G_IS_OBJECT (obj), NULL); - /* See if we have a cached accessible for this object */ - -- accessible = g_object_get_qdata (obj, -- quark_accessible_object); -+ accessible = quark_accessible_object ? g_object_get_qdata (obj, quark_accessible_object) : NULL; - - if (!accessible) - { -@@ -146,12 +145,12 @@ atk_real_gobject_accessible_initialize ( - atk_obj->layer = ATK_LAYER_WIDGET; - - g_object_weak_ref (data, -- (GWeakNotify) atk_gobject_accessible_dispose, -+ (GWeakNotify) atk_gobject_accessible_object_gone_cb, - atk_gobj); - } - - static void --atk_gobject_accessible_dispose (gpointer data) -+atk_gobject_accessible_object_gone_cb (gpointer data) - { - GObject *object; - -@@ -168,9 +167,29 @@ atk_gobject_accessible_dispose (gpointer - } - - static void -+atk_gobject_accessible_dispose (GObject *atk_obj) -+{ -+ GObject *obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (atk_obj)); -+ -+ if (obj) { -+ g_object_set_qdata (obj, quark_accessible_object, NULL); -+ g_object_weak_unref (obj, -+ (GWeakNotify) atk_gobject_accessible_object_gone_cb, -+ atk_obj); -+ -+ g_object_set_qdata (atk_obj, quark_object, NULL); -+ atk_object_notify_state_change (ATK_OBJECT (atk_obj), ATK_STATE_DEFUNCT, -+ TRUE); -+ } -+ -+ G_OBJECT_CLASS (parent_class)->dispose (atk_obj); -+} -+ -+static void - atk_gobject_accessible_class_init (AtkGObjectAccessibleClass *klass) - { - AtkObjectClass *class; -+ GObjectClass *object_class; - - class = ATK_OBJECT_CLASS (klass); - -@@ -178,6 +197,9 @@ atk_gobject_accessible_class_init (AtkGO - - class->initialize = atk_real_gobject_accessible_initialize; - -+ object_class = G_OBJECT_CLASS (klass); -+ object_class->dispose = atk_gobject_accessible_dispose; -+ - if (!quark_accessible_object) - quark_accessible_object = g_quark_from_static_string ("accessible-object"); - quark_object = g_quark_from_static_string ("object-for-accessible"); diff --git a/SPECS/atk.spec b/SPECS/atk.spec index 9563df6..9a9723d 100644 --- a/SPECS/atk.spec +++ b/SPECS/atk.spec @@ -2,22 +2,19 @@ %define gobject_introspection_version 0.9.6 Name: atk -Version: 2.22.0 -Release: 3%{?dist} +Version: 2.28.1 +Release: 1%{?dist} Summary: Interfaces for accessibility support License: LGPLv2+ URL: http://developer.gnome.org/platform-overview/stable/atk -Source0: http://download.gnome.org/sources/atk/2.22/atk-%{version}.tar.xz +Source0: http://download.gnome.org/sources/atk/2.28/atk-%{version}.tar.xz -Patch01: atk-use-after-free.patch Patch02: atk-invalid-unref.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gettext BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} -# Bootstrap requirements -BuildRequires: gnome-common gtk-doc %description The ATK library provides a set of interfaces for adding accessibility @@ -36,12 +33,10 @@ needed for development of applications or toolkits which use ATK. %prep %setup -q -%patch01 -p1 -b .use-after-free %patch02 -p1 -b .invalid-unref %build -(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; - %configure $CONFIGFLAGS) +%configure make %{?_smp_mflags} %install @@ -55,7 +50,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %postun -p /sbin/ldconfig - %files -f atk10.lang %license COPYING %doc README AUTHORS NEWS @@ -70,6 +64,10 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %{_datadir}/gir-1.0 %changelog +* Tue Mar 13 2018 Kalev Lember - 2.28.1-1 +- Update to 2.28.1 +- Resolves: #1567158 + * Wed May 31 2017 Milan Crha - 2.22.0-3 - Add patch to fix invalid unref at atk_gobject_accessible_object_gone_cb() - Resolves: #1457206