From d42bce21c5c748ea834f93882b15967ba4caff30 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Fri, 5 Dec 2008 23:20:10 +0000 Subject: [PATCH] Use CompositeRedirectManual for tray icons We don't want the X server to draw the icons onto the screen, so use pass automatic=FALSE to clutter_x11_texture_pixmap_set_window(); causing CompositeRedirectManual to be used. svn path=/trunk/; revision=122 --- src/shell-tray-manager.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/shell-tray-manager.c b/src/shell-tray-manager.c index 6a757bbba..9f15dc6ac 100644 --- a/src/shell-tray-manager.c +++ b/src/shell-tray-manager.c @@ -291,7 +291,14 @@ na_tray_icon_added (NaTrayManager *na_manager, GtkWidget *socket, gdk_window_reparent (win->window, manager->priv->stage_window, 0, 0); gtk_widget_show_all (win); - icon = clutter_glx_texture_pixmap_new_with_window (GDK_WINDOW_XWINDOW (win->window)); + icon = clutter_glx_texture_pixmap_new (); + /* Here automatic=FALSE means to use CompositeRedirectManual - that is, + * the X server shouldn't draw the window onto the screen */ + clutter_x11_texture_pixmap_set_window (CLUTTER_X11_TEXTURE_PIXMAP (icon), + GDK_WINDOW_XWINDOW (win->window), + FALSE); + /* Here automatic has a different meaning - whether ClutterX11TexturePixmap + * should process damage update and refresh the pixmap itself */ clutter_x11_texture_pixmap_set_automatic (CLUTTER_X11_TEXTURE_PIXMAP (icon), TRUE); clutter_actor_set_size (icon, 24, 24);