[PATCH xserver] xfree86/modes: Make sure the HW cursor is hidden when it should be

Michael Thayer michael.thayer at oracle.com
Thu Mar 24 09:07:27 UTC 2016


Looks good to me, but I don't feel I'm quite familiar enough with the 
code to give a full "reviewed-by".

Regards,

Michael

On 24.03.2016 09:34, Michel Dänzer wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> 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
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> ---
>   hw/xfree86/modes/xf86Crtc.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> 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;
>

-- 
Michael Thayer | VirtualBox engineer
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | D-71384 Weinstadt

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher


More information about the xorg-devel mailing list