summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-03-09 09:43:46 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-03-09 09:43:46 +0000
commitc25a3f7f46010660f441070ab7b9d5d1bc39ed0d (patch)
tree911e9f5fb7f1c03f0d51c3fa46a6a9c5ca17ad29
parent93846b468e778440549ef0cae171c7fe9678ed9a (diff)
sna/dri: Only delivered a delayed flip if the drawable is still on the root
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_dri.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index 92132d67..ccaf40fa 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -1053,7 +1053,8 @@ static void sna_dri_flip_event(struct sna *sna,
flip->drawable_id,
serverClient,
M_ANY, DixWriteAccess) == Success) {
- if (!sna_dri_flip_continue(sna, drawable, flip)) {
+ if (can_flip(sna, drawable, flip->front, flip->back) &&
+ !sna_dri_flip_continue(sna, drawable, flip)) {
DRI2SwapComplete(flip->client, drawable,
0, 0, 0,
DRI2_BLIT_COMPLETE,