From 12e974c7bc8c85dbccd3d9ef91c1315e85bbeb6c Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 22 Nov 2013 17:37:57 +0000 Subject: [PATCH] Revert "intel-virtual-output: Only track the most recent visibility status of the cursor" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit abf1a16914d993cc150005879375d4bb17fdccf3. We need to track visibility over all clones on a display, not just the last. Regression from commit abf1a16914d993cc150005879375d4bb17fdccf3 [2.99.906] Author: Chris Wilson Date: Fri Nov 8 17:09:35 2013 +0000 intel-virtual-output: Only track the most recent visibility status of the curso Reported-by: Kirill Müller Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71838 Signed-off-by: Chris Wilson --- tools/virtual.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/virtual.c b/tools/virtual.c index 2d5a4e45..a02db68c 100644 --- a/tools/virtual.c +++ b/tools/virtual.c @@ -1182,8 +1182,10 @@ static void display_load_visible_cursor(struct display *display, XFixesCursorIma DBG(("%s marking cursor changed\n", DisplayString(display->dpy))); display->cursor_moved++; - if (display->cursor != display->invisible_cursor) + if (display->cursor != display->invisible_cursor) { + display->cursor_visible++; context_enable_timer(display->ctx); + } } static void display_cursor_move(struct display *display, int x, int y, int visible) @@ -1191,7 +1193,7 @@ static void display_cursor_move(struct display *display, int x, int y, int visib DBG(("%s cursor moved (visible=%d, (%d, %d))\n", DisplayString(display->dpy), visible, x, y)); display->cursor_moved++; - display->cursor_visible = visible; + display->cursor_visible += visible; if (visible) { display->cursor_x = x; display->cursor_y = y; @@ -1233,6 +1235,7 @@ static void display_flush_cursor(struct display *display) display_mark_flush(display); display->cursor_moved = 0; + display->cursor_visible = 0; } static void clone_move_cursor(struct clone *c, int x, int y)