--- marco/marco-1.8.2+dfsg1/src/ui/tile-preview.c 2014-09-25 13:08:14.000000000 +0100 +++ marco2/marco-1.8.2+dfsg1/src/ui/tile-preview.c 2014-12-28 21:51:25.331064036 +0000 @@ -202,6 +202,10 @@ meta_tile_preview_new (int screen_n G_CALLBACK (meta_tile_preview_expose), preview); #endif + /* if we don't do this then the first preview is messed up */ + gtk_widget_show (preview->preview_window); + gtk_widget_hide (preview->preview_window); + return preview; } @@ -230,7 +234,6 @@ meta_tile_preview_show (MetaTilePreview && preview->tile_rect.height == tile_rect->height) return; /* nothing to do */ - gtk_widget_show (preview->preview_window); window = gtk_widget_get_window (preview->preview_window); #if GTK_CHECK_VERSION (3, 0, 0) meta_core_lower_beneath_focus_window (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), @@ -252,6 +255,9 @@ meta_tile_preview_show (MetaTilePreview preview->tile_rect.x, preview->tile_rect.y, preview->tile_rect.width, preview->tile_rect.height); + /* this has to be below move_resize, otherwise get horrible glitch */ + gtk_widget_show (preview->preview_window); + if (!preview->has_alpha) { GdkRectangle outer_rect, inner_rect;