Don't free foreign colormaps
This commit is contained in:
		
							parent
							
								
									91ebf02b49
								
							
						
					
					
						commit
						a9bb47f76b
					
				
							
								
								
									
										29
									
								
								foreign-cmap.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								foreign-cmap.patch
									
									
									
									
									
										Normal 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; | ||||
|   | ||||
| @ -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 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user