mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-05 01:48:02 +02:00
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@redhat.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
(cherry picked from commit 418fe365b4)
This commit is contained in:
parent
1211d483d4
commit
b8f9fd8318
1 changed files with 6 additions and 0 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue