xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Mon Mar 28 18:03:35 UTC 2016


 hw/xfree86/modes/xf86Crtc.c |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 418fe365b45a143680d3b4143dc60f7cdc5a3507
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Thu Mar 24 17:34:23 2016 +0900

    xfree86/modes: Make sure the HW cursor is hidden when it should be
    
    When the HW cursor is hidden (e.g. because xf86CursorResetCursor
    triggers a switch from HW cursor to SW cursor), the driver isn't
    notified of this for disabled CRTCs. If the HW cursor was shown when the
    CRTC was disabled, it may still be displayed when the CRTC is enabled
    again.
    
    Prevent this by explicitly hiding the HW cursor again after setting a
    mode if it's currently supposed to be hidden.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94560
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 2639a30..6091b5e 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -368,6 +368,12 @@ xf86CrtcSetModeTransform(xf86CrtcPtr crtc, DisplayModePtr mode,
             xf86CrtcSetScreenSubpixelOrder(scrn->pScreen);
         if (scrn->ModeSet)
             scrn->ModeSet(scrn);
+
+        /* Make sure the HW cursor is hidden if it's supposed to be, in case
+         * it was hidden while the CRTC was disabled
+         */
+        if (!xf86_config->cursor_on)
+            xf86_hide_cursors(scrn);
     }
     else {
         crtc->x = saved_x;


More information about the xorg-commit mailing list