summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-04-15 19:34:15 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-04-15 19:35:00 +0100
commitc3dc8310575acdbbef4565f53644384c7ce4a6f5 (patch)
treeb830f624d5eebe49fadb17dca6f99995797252e1
parentd30d276aeebe666e2c71a275bb2c71781c75448b (diff)
sna: Mark the transformed cursor image as dirty
So that when we size from transformed cursors to non-transformed, we remember to clear the entire area. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index ff80a4e3..3b5ae87d 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5684,8 +5684,14 @@ static struct sna_cursor *__sna_get_cursor(struct sna *sna, xf86CrtcPtr crtc)
cursor->rotation = rotation;
cursor->transformed = transformed;
cursor->serial = sna->cursor.serial;
- cursor->last_width = width;
- cursor->last_height = height;
+ if (transformed) {
+ /* mark the transformed rectangle as dirty, not input */
+ cursor->last_width = size;
+ cursor->last_height = size;
+ } else {
+ cursor->last_width = width;
+ cursor->last_height = height;
+ }
return cursor;
}