Fixed bug 3722 - Fall back to xinerama/xvidmode if xrandr modes initialization fails

Levi Bard

In some environments, xrandr modes initialization can fail even though xrandr support is present and of a sufficient version.
(The one I encountered was an AWS instance running a virtual display)

The attached patch allows SDL to keep trying other methods if xrandr modes initialization fails (still subject to SDL_VIDEO_X11_REQUIRE_XRANDR).
This commit is contained in:
Sam Lantinga 2017-08-02 10:28:13 -07:00
parent 4be066707d
commit 082f32d198

View File

@ -604,7 +604,8 @@ X11_InitModes(_THIS)
/* require at least XRandR v1.3 */ /* require at least XRandR v1.3 */
if (CheckXRandR(data->display, &xrandr_major, &xrandr_minor) && if (CheckXRandR(data->display, &xrandr_major, &xrandr_minor) &&
(xrandr_major >= 2 || (xrandr_major == 1 && xrandr_minor >= 3))) { (xrandr_major >= 2 || (xrandr_major == 1 && xrandr_minor >= 3))) {
return X11_InitModes_XRandR(_this); if (X11_InitModes_XRandR(_this) == 0)
return 0;
} }
#endif /* SDL_VIDEO_DRIVER_X11_XRANDR */ #endif /* SDL_VIDEO_DRIVER_X11_XRANDR */