summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-11-19 22:13:54 -0800
committerKeith Packard <keithp@keithp.com>2013-11-20 13:12:33 -0800
commit6403cbb143c67872ca9c58e3116ae7942def0ae1 (patch)
tree12af84346255f516a75ed2fee02c70e72344f26f
parent8bdd2ccc776ded3f527596b5009ef25129aa3287 (diff)
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>
-rw-r--r--present/present.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/present/present.c b/present/present.c
index 16dc3811e..f9eef6b26 100644
--- a/present/present.c
+++ b/present/present.c
@@ -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);
}