add patches

This commit is contained in:
Matthias Clasen 2008-09-22 15:50:08 +00:00
parent d089027711
commit a078631265
3 changed files with 68 additions and 2 deletions

46
gail-leaks.patch Normal file
View File

@ -0,0 +1,46 @@
diff -up gtk+-2.14.2/modules/other/gail/gailcell.c.gail-leaks gtk+-2.14.2/modules/other/gail/gailcell.c
--- gtk+-2.14.2/modules/other/gail/gailcell.c.gail-leaks 2008-09-19 00:55:50.000000000 -0400
+++ gtk+-2.14.2/modules/other/gail/gailcell.c 2008-09-19 00:56:24.000000000 -0400
@@ -118,6 +118,7 @@ gail_cell_destroyed (GtkWidget *wi
* GtkWidget. We set the pointer location to NULL;
*/
cell->widget = NULL;
+ g_signal_handlers_disconnect_by_func (widget, gail_cell_destroyed, cell);
}
static void
diff -up gtk+-2.14.2/modules/other/gail/gailtreeview.c.gail-leaks gtk+-2.14.2/modules/other/gail/gailtreeview.c
--- gtk+-2.14.2/modules/other/gail/gailtreeview.c.gail-leaks 2008-09-19 00:55:02.000000000 -0400
+++ gtk+-2.14.2/modules/other/gail/gailtreeview.c 2008-09-19 00:55:39.000000000 -0400
@@ -3667,12 +3667,12 @@ static gboolean
garbage_collect_cell_data (gpointer data)
{
GailTreeView *tree_view;
- GList *temp_list;
+ GList *temp_list, *list;
GailTreeViewCellInfo *cell_info;
g_assert (GAIL_IS_TREE_VIEW (data));
tree_view = (GailTreeView *)data;
- temp_list = g_list_copy (tree_view->cell_data);
+ list = g_list_copy (tree_view->cell_data);
tree_view->garbage_collection_pending = FALSE;
if (tree_view->idle_garbage_collect_id != 0)
@@ -3682,6 +3682,7 @@ garbage_collect_cell_data (gpointer data
}
/* Must loop through them all */
+ temp_list = list;
while (temp_list != NULL)
{
cell_info = temp_list->data;
@@ -3696,7 +3697,7 @@ garbage_collect_cell_data (gpointer data
}
temp_list = temp_list->next;
}
- g_list_free (temp_list);
+ g_list_free (list);
return tree_view->garbage_collection_pending;
}

View File

@ -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.14/gtk+-%{version}.tar.bz2
@ -30,7 +30,9 @@ Patch1: gtk+-2.11.1-set-invisible-char-to-bullet.patch
# a workaround for some brokenness in the flash plugin
# see http://bugzilla.gnome.org/show_bug.cgi?id=463773
Patch2: workaround.patch
# fixed upstream
Patch3: info-leak.patch
# fixed upstream
Patch4: gail-leaks.patch
BuildRequires: atk-devel >= %{atk_version}
@ -303,8 +305,9 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/gtk-2.0
%changelog
* Mon Sep 22 2008 Matthias Clasen <mclasen@redhat.com> - 2.14.2-2
* Mon Sep 22 2008 Matthias Clasen <mclasen@redhat.com> - 2.14.2-3
- BR libXdamage-devel (#462971, Owen Taylor)
- Plug some memory leaks
* Thu Sep 18 2008 Matthias Clasen <mclasen@redhat.com> - 2.14.2-1
- Update to 2.14.2

17
info-leak.patch Normal file
View File

@ -0,0 +1,17 @@
diff -up gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c.info-leak gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c
--- gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c.info-leak 2008-09-18 14:34:02.000000000 -0400
+++ gtk+-2.14.2/gdk-pixbuf/gdk-pixbuf-io.c 2008-09-18 14:34:46.000000000 -0400
@@ -688,9 +688,10 @@ gdk_pixbuf_load_module_unlocked (GdkPixb
if (fill_vtable) {
image_module->module = (void *) 1;
(* fill_vtable) (image_module);
- image_module->info = g_new0 (GdkPixbufFormat, 1);
- (* fill_info) (image_module->info);
-
+ if (image_module->info == NULL) {
+ image_module->info = g_new0 (GdkPixbufFormat, 1);
+ (* fill_info) (image_module->info);
+ }
return TRUE;
}
else