diff --git a/foreign-cmap.patch b/foreign-cmap.patch new file mode 100644 index 0000000..7023e8d --- /dev/null +++ b/foreign-cmap.patch @@ -0,0 +1,29 @@ +diff -rup gtk+-2.12.8.orig/gdk/x11/gdkcolor-x11.c gtk+-2.12.8.new/gdk/x11/gdkcolor-x11.c +--- gtk+-2.12.8.orig/gdk/x11/gdkcolor-x11.c 2008-02-12 12:57:43.000000000 -0500 ++++ gtk+-2.12.8.new/gdk/x11/gdkcolor-x11.c 2008-04-02 22:02:07.000000000 -0400 +@@ -46,7 +46,7 @@ struct _GdkColormapPrivateX11 + GdkColorInfo *info; + time_t last_sync_time; + +- guint foreign : 1; ++ gboolean foreign; + }; + + #define GDK_COLORMAP_PRIVATE_DATA(cmap) ((GdkColormapPrivateX11 *) GDK_COLORMAP (cmap)->windowing_data) +@@ -107,7 +107,7 @@ gdk_colormap_finalize (GObject *object) + + gdk_colormap_remove (colormap); + +- if (!private->screen->closed) ++ if (!private->screen->closed && !private->foreign) + XFreeColormap (GDK_SCREEN_XDISPLAY (private->screen), private->xcolormap); + + if (private->hash) +@@ -1292,6 +1292,7 @@ gdk_x11_colormap_foreign_new (GdkVisual + private->screen = screen; + private->xcolormap = xcolormap; + private->private_val = FALSE; ++ private->foreign = TRUE; + + colormap->size = visual->colormap_size; + diff --git a/gtk2.spec b/gtk2.spec index 2e09a4c..9012485 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.12/gtk+-%{version}.tar.bz2 @@ -37,6 +37,9 @@ Patch3: system-log-crash.patch # backport from svn trunk Patch4: im-setting.patch +# fixed upstream +Patch5: foreign-cmap.patch + BuildRequires: atk-devel >= %{atk_version} BuildRequires: pango-devel >= %{pango_version} BuildRequires: glib2-devel >= %{glib2_version} @@ -116,6 +119,7 @@ docs for the GTK+ widget toolkit. %patch2 -p1 -b .workaround %patch3 -p1 -b .system-log-crash %patch4 -p1 -b .im-setting +%patch5 -p1 -b .foreign-cmap 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 Apr 3 2008 Matthias Clasen - 2.12.9-2 +- Don't free foreign colormaps + * Wed Mar 12 2008 Matthias Clasen - 2.12.9-1 - Update to 2.12.9