diff --git a/gtk2.spec b/gtk2.spec index 91a6a9a..a3c5f85 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: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ Group: System Environment/Libraries Source: http://download.gnome.org/sources/gtk+/2.12/gtk+-%{version}.tar.bz2 @@ -34,6 +34,9 @@ Patch2: workaround.patch # http://bugzilla.gnome.org/show_bug.cgi?id=482531 Patch3: firefox-print-preview.patch +# http://bugzilla.gnome.org/show_bug.cgi?id=488119 +Patch4: system-log-crash.patch + BuildRequires: atk-devel >= %{atk_version} BuildRequires: pango-devel >= %{pango_version} BuildRequires: glib2-devel >= %{glib2_version} @@ -111,6 +114,7 @@ docs for the GTK+ widget toolkit. %patch1 -p1 -b .set-invisible-char-to-bullet %patch2 -p1 -b .workaround %patch3 -p1 -b .firefox-print-preview +%patch4 -p1 -b .system-log-crash for i in config.guess config.sub ; do test -f %{_datadir}/libtool/$i && cp %{_datadir}/libtool/$i . @@ -293,6 +297,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/gtk-2.0 %changelog +* Mon Oct 22 2007 Matthias Clasen - 2.12.1-4 +- Fix a crash in gnome-system-log (#321701) + * Wed Oct 17 2007 Matthias Clasen - 2.12.1-2 - Fix a crash in the firefox print preview (#336771) diff --git a/system-log-crash.patch b/system-log-crash.patch new file mode 100644 index 0000000..5c7b2e3 --- /dev/null +++ b/system-log-crash.patch @@ -0,0 +1,46 @@ +diff -up gtk+-2.12.1/gtk/gtktreeview.c.system-log gtk+-2.12.1/gtk/gtktreeview.c +--- gtk+-2.12.1/gtk/gtktreeview.c.system-log 2007-10-18 21:51:23.000000000 -0400 ++++ gtk+-2.12.1/gtk/gtktreeview.c 2007-10-18 21:53:18.000000000 -0400 +@@ -13276,18 +13276,24 @@ gtk_tree_view_get_visible_range (GtkTree + { + GtkRBTree *tree; + GtkRBNode *node; +- ++ gboolean retval; ++ + g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), FALSE); + + if (!tree_view->priv->tree) + return FALSE; + ++ retval = TRUE; ++ + if (start_path) + { + _gtk_rbtree_find_offset (tree_view->priv->tree, + TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, 0), + &tree, &node); +- *start_path = _gtk_tree_view_find_path (tree_view, tree, node); ++ if (tree) ++ *start_path = _gtk_tree_view_find_path (tree_view, tree, node); ++ else ++ retval = FALSE; + } + + if (end_path) +@@ -13300,10 +13306,13 @@ gtk_tree_view_get_visible_range (GtkTree + y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, tree_view->priv->vadjustment->page_size) - 1; + + _gtk_rbtree_find_offset (tree_view->priv->tree, y, &tree, &node); +- *end_path = _gtk_tree_view_find_path (tree_view, tree, node); ++ if (tree) ++ *end_path = _gtk_tree_view_find_path (tree_view, tree, node); ++ else ++ retval = FALSE; + } + +- return TRUE; ++ return retval; + } + + static void