From a4d59f7415968e2cd2d6bb0cff97dffaff022f2e Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Sun, 14 Nov 2010 09:38:32 -0500 Subject: [PATCH] Create the icon pixmap with the system visual Since what we are doing is turning an icon with alpha into a no-alpha icon + mask for legacy window managers, it makes more sense to use the system visual than the window's visual, which might be ARGB. https://bugzilla.gnome.org/show_bug.cgi?id=634821 --- gdk/x11/gdkwindow-x11.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 88d85101ae..b369e2c63e 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -271,16 +271,17 @@ _gdk_x11_window_create_bitmap_surface (GdkWindow *window, return surface; } +/* Create a surface backed with a pixmap without alpha on the same screen as window */ static cairo_surface_t * gdk_x11_window_create_pixmap_surface (GdkWindow *window, int width, int height) { + GdkScreen *screen = gdk_window_get_screen (window); + GdkVisual *visual = gdk_screen_get_system_visual (screen); 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,