present: When unflipping, copy to flip window rather than screen

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>
This commit is contained in:
Keith Packard 2013-11-19 22:13:54 -08:00
parent 8bdd2ccc77
commit 6403cbb143

View 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);
}