From 85ab88fa57dfe84e485764b12db48d2ad8a9c509 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 10 Jul 2008 16:40:54 +0000 Subject: [PATCH] fix a segfault --- gtk2.spec | 9 ++++++++- icon-view-a11y.patch | 29 +++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 icon-view-a11y.patch diff --git a/gtk2.spec b/gtk2.spec index caabb66..278a964 100644 --- a/gtk2.spec +++ b/gtk2.spec @@ -16,7 +16,7 @@ Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X Name: gtk2 Version: %{base_version} -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: System Environment/Libraries Source: http://download.gnome.org/sources/gtk+/2.13/gtk+-%{version}.tar.bz2 @@ -31,6 +31,9 @@ Patch1: gtk+-2.11.1-set-invisible-char-to-bullet.patch # see http://bugzilla.gnome.org/show_bug.cgi?id=463773 Patch2: workaround.patch +# fixed in upstream svn +Patch3: icon-view-a11y.patch + BuildRequires: atk-devel >= %{atk_version} BuildRequires: pango-devel >= %{pango_version} BuildRequires: glib2-devel >= %{glib2_version} @@ -115,6 +118,7 @@ docs for the GTK+ widget toolkit. %patch0 -p1 -b .lib64 %patch1 -p1 -b .set-invisible-char-to-bullet %patch2 -p1 -b .workaround +%patch3 -p1 -b .icon-view-a11y for i in config.guess config.sub ; do test -f %{_datadir}/libtool/$i && cp %{_datadir}/libtool/$i . @@ -298,6 +302,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/gtk-2.0 %changelog +* Thu Jul 10 2008 Matthias Clasen - 2.13.4-2 +- Fix a segfault in the icon view a11y code + * Sat Jul 5 2008 Matthias Clasen - 2.13.4-1 - Update to 2.13.4 diff --git a/icon-view-a11y.patch b/icon-view-a11y.patch new file mode 100644 index 0000000..57536f7 --- /dev/null +++ b/icon-view-a11y.patch @@ -0,0 +1,29 @@ +Index: gtk/gtkiconview.c +=================================================================== +--- gtk/gtkiconview.c (revision 20741) ++++ gtk/gtkiconview.c (working copy) +@@ -8970,8 +8970,8 @@ + { + if (tmp_list == NULL) + tmp_list = items; +- else +- info->index = item->item->index; ++ ++ info->index = item->item->index; + } + + items = items->next; +@@ -8981,11 +8981,8 @@ + { + info = deleted_item->data; + gtk_icon_view_item_accessible_add_state (GTK_ICON_VIEW_ITEM_ACCESSIBLE (info->item), ATK_STATE_DEFUNCT, TRUE); +- } +- g_signal_emit_by_name (atk_obj, "children_changed::remove", +- index, NULL, NULL); +- if (deleted_item) +- { ++ g_signal_emit_by_name (atk_obj, "children_changed::remove", ++ index, NULL, NULL); + priv->items = g_list_remove_link (priv->items, deleted_item); + g_free (info); + }