diff options
author | Matthias Clasen <mclasen@redhat.com> | 2010-11-12 19:25:12 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2010-11-12 19:25:12 -0500 |
commit | 87b48380318aa09a8f2a9a77352413c32ac2a48b (patch) | |
tree | bd8de2ce0b5d8eba7e22f1776b33a74d3b914b5b /0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch | |
parent | Bump glib dep (diff) | |
download | gtk3-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.patch | 39 |
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 + |