xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Tue Dec 2 23:00:52 PST 2008


 hw/xfree86/modes/xf86Cursors.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

New commits:
commit 0b8f8b24f718820a72ebdc52423c2e6a44e848c5
Author: Stuart Bennett <sb476 at cam.ac.uk>
Date:   Tue Dec 2 22:52:53 2008 -0800

    xf86Cursors: xf86_reload_cursors shouldn't unconditionally show hwcursor (#14820)
    
    Also, no need to call ShowCursor when SetCursorPosition already does it
    Based on a previous patch by Maarten Maathuis
    
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xfree86/modes/xf86Cursors.c b/hw/xfree86/modes/xf86Cursors.c
index a58b001..3106f05 100644
--- a/hw/xfree86/modes/xf86Cursors.c
+++ b/hw/xfree86/modes/xf86Cursors.c
@@ -602,12 +602,19 @@ xf86_reload_cursors (ScreenPtr screen)
     xf86CursorInfoPtr   cursor_info;
     CursorPtr		cursor;
     int			x, y;
+    xf86CursorScreenPtr cursor_screen_priv;
     
     /* initial mode setting will not have set a screen yet.
        May be called before the devices are initialised.
      */
     if (!screen || !inputInfo.pointer)
 	return;
+    cursor_screen_priv = dixLookupPrivate(&screen->devPrivates,
+					  xf86CursorScreenKey);
+    /* return if HW cursor is inactive, to avoid displaying two cursors */
+    if (!cursor_screen_priv->isUp)
+	return;
+
     scrn = xf86Screens[screen->myNum];
     xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
 
@@ -615,7 +622,7 @@ xf86_reload_cursors (ScreenPtr screen)
     cursor_info = xf86_config->cursor_info;
     if (!cursor_info)
 	return;
-    
+
     cursor = xf86_config->cursor;
     GetSpritePosition (inputInfo.pointer, &x, &y);
     if (!(cursor_info->Flags & HARDWARE_CURSOR_UPDATE_UNHIDDEN))
@@ -636,7 +643,6 @@ xf86_reload_cursors (ScreenPtr screen)
 	    (*cursor_info->LoadCursorImage)(cursor_info->pScrn, src);
 
 	(*cursor_info->SetCursorPosition)(cursor_info->pScrn, x, y);
-	(*cursor_info->ShowCursor)(cursor_info->pScrn);
     }
 }
 


More information about the xorg-commit mailing list