fix a gnome-terminal problem

This commit is contained in:
Matthias Clasen 2010-11-12 19:25:12 -05:00
parent a435582f8e
commit 87b4838031
2 changed files with 47 additions and 1 deletions

View File

@ -0,0 +1,39 @@
From 45498417c8405ad9ca3d8cd94940d6fb2702ec43 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 12 Nov 2010 19:19:48 -0500
Subject: [PATCH] Fix a crash in gnome-terminal when using a compositor
In this case, gnome-terminal sets an RGBA visual on its window,
and we need to be careful when creating the icon pixmap, to create
the pixmap with the same depth as the visual, or we risk a BadMatch
from XRenderCreatePicture deep inside cairo.
---
gdk/x11/gdkwindow-x11.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 9f54ddc..88d8510 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -278,14 +278,16 @@ gdk_x11_window_create_pixmap_surface (GdkWindow *window,
{
cairo_surface_t *surface;
Pixmap pixmap;
+ GdkVisual *visual;
+ visual = gdk_window_get_visual (window);
pixmap = XCreatePixmap (GDK_WINDOW_XDISPLAY (window),
GDK_WINDOW_XID (window),
width, height,
- DefaultDepthOfScreen (GDK_SCREEN_XSCREEN (GDK_WINDOW_SCREEN (window))));
+ gdk_visual_get_depth (visual));
surface = cairo_xlib_surface_create (GDK_WINDOW_XDISPLAY (window),
pixmap,
- GDK_VISUAL_XVISUAL (gdk_window_get_visual (window)),
+ GDK_VISUAL_XVISUAL (visual),
width, height);
attach_free_pixmap_handler (surface, GDK_WINDOW_DISPLAY (window), pixmap);
--
1.7.3.2

View File

@ -11,7 +11,7 @@
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: gtk3
Version: 2.91.4
Release: 1%{?dist}
Release: 2%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
@ -25,6 +25,9 @@ BuildRequires: gnome-common autoconf automake intltool gettext
Patch2: 0001-New-tooltip-style.patch
# upstream fix
Patch3: 0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
BuildRequires: atk-devel >= %{atk_version}
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: cairo-devel >= %{cairo_version}
@ -111,6 +114,7 @@ widget toolkit.
%setup -q -n gtk+-%{version}
%patch0 -p1 -b .system-python
%patch2 -p1 -b .fresh-tooltips
%patch3 -p1 -b .terminal-crash
%build
@ -245,6 +249,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
%{_mandir}/man1/gtk-builder-convert-3.0.1.gz
%changelog
* Fri Nov 12 2010 Matthias Clasen <mclasen@redhat.com> 2.91.4-2
- Make gnome-terminal work again
* Thu Nov 11 2010 Matthias Clasen <mclasen@redhat.com> 2.91.4-1
- Update to 2.91.4