present: When unflipping, copy to flip window rather than screen
authorKeith Packard <keithp@keithp.com>
Wed, 20 Nov 2013 06:13:54 +0000 (22:13 -0800)
committerKeith Packard <keithp@keithp.com>
Wed, 20 Nov 2013 21:12:33 +0000 (13:12 -0800)
unflip happens after the clip lists have been updated, so instead of
smashing the whole screen and drawing over other windows, just draw to
the original flip window; it'll have the right clip list and so the
copy will work just fine.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
present/present.c

index 16dc381..f9eef6b 100644 (file)
@@ -321,8 +321,8 @@ present_unflip(ScreenPtr screen)
 
     /* Update the screen pixmap with the current flip pixmap contents
      */
-    if (screen_priv->flip_pixmap) {
-        present_copy_region(&screen->GetScreenPixmap(screen)->drawable,
+    if (screen_priv->flip_pixmap && screen_priv->flip_window) {
+        present_copy_region(&screen_priv->flip_window->drawable,
                             screen_priv->flip_pixmap,
                             NULL, 0, 0);
     }