Don't free foreign colormaps

This commit is contained in:
Matthias Clasen 2008-04-03 05:14:07 +00:00
parent 91ebf02b49
commit a9bb47f76b
2 changed files with 37 additions and 1 deletions

29
foreign-cmap.patch Normal file
View File

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

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.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 <mclasen@redhat.com> - 2.12.9-2
- Don't free foreign colormaps
* Wed Mar 12 2008 Matthias Clasen <mclasen@redhat.com> - 2.12.9-1
- Update to 2.12.9