x11: XSync while trying to catch XRRSetScreenSize error.

Reference issue #4561
This commit is contained in:
Ryan C. Gordon 2021-07-31 18:27:14 -04:00
parent cb1fd30e9a
commit 4c7825f6bd
No known key found for this signature in database
GPG key ID: FA148B892AB48044

View file

@ -1059,6 +1059,7 @@ X11_SetDisplayMode(_THIS, SDL_VideoDisplay * sdl_display, SDL_DisplayMode * mode
crashing */ crashing */
PreXRRSetScreenSizeErrorHandler = X11_XSetErrorHandler(SDL_XRRSetScreenSizeErrHandler); PreXRRSetScreenSizeErrorHandler = X11_XSetErrorHandler(SDL_XRRSetScreenSizeErrHandler);
X11_XRRSetScreenSize(display, RootWindow(display, data->screen), mode->w, mode->h, mm_width, mm_height); X11_XRRSetScreenSize(display, RootWindow(display, data->screen), mode->w, mode->h, mm_width, mm_height);
X11_XSync(display, False); /* hopefully force any protocol errors to process with this handler. */
X11_XSetErrorHandler(PreXRRSetScreenSizeErrorHandler); X11_XSetErrorHandler(PreXRRSetScreenSizeErrorHandler);
status = X11_XRRSetCrtcConfig (display, res, output_info->crtc, CurrentTime, status = X11_XRRSetCrtcConfig (display, res, output_info->crtc, CurrentTime,