fix a segfault

This commit is contained in:
Matthias Clasen 2008-07-10 16:40:54 +00:00
parent 2b2ab60bc4
commit 85ab88fa57
2 changed files with 37 additions and 1 deletions

View File

@ -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 <mclasen@redhat.com> - 2.13.4-2
- Fix a segfault in the icon view a11y code
* Sat Jul 5 2008 Matthias Clasen <mclasen@redhat.com> - 2.13.4-1
- Update to 2.13.4

29
icon-view-a11y.patch Normal file
View File

@ -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);
}