mirror of
https://github.com/X11Libre/xf86-video-ati.git
synced 2026-03-24 01:24:43 +00:00
504b8721b17a672caf1ed3eab087027c02458cab
Since xf86CursorCloseScreen runs after RADEONCloseScreen_KMS,
PointPriv->spriteFuncs doesn't point to the same struct in the latter as
in RADEONCursorInit_KMS. So we were restoring info->Set/MoveCursor to
the wrong struct. Then in the next server generation,
info->Set/MoveCursor would end up pointing to
drmmode_sprite_set/move_cursor, resulting in an infinite loop if one of
them was called.
To avoid this, only change the Set/MoveCursor hooks if their values
match our expectations, otherwise leave them as is. This is kind of a
hack, but the alternative would be invasive and thus risky changes to
the way we're wrapping CloseScreen, and it's not even clear that can
work without changing xserver code.
Fixes: 1fe8ca7597 ("Keep track of how many SW cursors are visible on
each screen")
Acked-by: Alex Deucher <alexander.deucher@amd.com>
xf86-video-ati - ATI/AMD Radeon video driver for the Xorg X server
Patches and questions regarding this software should be directed at the
amd-gfx mailing list:
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Please submit bug reports to the Xorg bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon
The master development code repository can be found at:
git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati
https://cgit.freedesktop.org/xorg/driver/xf86-video-ati
For patch submission instructions, see:
https://www.x.org/wiki/Development/Documentation/SubmittingPatches
For more information on the git code manager, see:
https://wiki.x.org/wiki/GitPage
Description
Languages
C
99.3%
M4
0.3%
Makefile
0.2%
Perl
0.1%