summaryrefslogtreecommitdiff
path: root/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2010-11-12 19:25:12 -0500
committerMatthias Clasen <mclasen@redhat.com>2010-11-12 19:25:12 -0500
commit87b48380318aa09a8f2a9a77352413c32ac2a48b (patch)
treebd8de2ce0b5d8eba7e22f1776b33a74d3b914b5b /0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
parentBump glib dep (diff)
downloadgtk3-classic-build-gtk3-87b48380318aa09a8f2a9a77352413c32ac2a48b.tar.gz
gtk3-classic-build-gtk3-87b48380318aa09a8f2a9a77352413c32ac2a48b.tar.bz2
gtk3-classic-build-gtk3-87b48380318aa09a8f2a9a77352413c32ac2a48b.zip
fix a gnome-terminal problem
Diffstat (limited to '0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch')
-rw-r--r--0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch b/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
new file mode 100644
index 0000000..9ed807b
--- /dev/null
+++ b/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
@@ -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
+
bgstack15