xf86-video-intel: tools/virtual.c

Chris Wilson ickle at kemper.freedesktop.org
Fri Nov 22 09:40:24 PST 2013


 tools/virtual.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 12e974c7bc8c85dbccd3d9ef91c1315e85bbeb6c
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Nov 22 17:37:57 2013 +0000

    Revert "intel-virtual-output: Only track the most recent visibility status of the cursor"
    
    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 <chris at chris-wilson.co.uk>
    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 <mail at kirill-mueller.de>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71838
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/tools/virtual.c b/tools/virtual.c
index 2d5a4e4..a02db68 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)


More information about the xorg-commit mailing list