Explorar o código

x11: Ignore BadValue for extremely small XRRSetScreenSize resolutions.

Reference Issue #4840.
Ryan C. Gordon %!s(int64=4) %!d(string=hai) anos
pai
achega
1c7bf478ae
Modificáronse 1 ficheiros con 7 adicións e 1 borrados
  1. 7 1
      src/video/x11/SDL_x11modes.c

+ 7 - 1
src/video/x11/SDL_x11modes.c

@@ -1011,7 +1011,13 @@ static int (*PreXRRSetScreenSizeErrorHandler)(Display *, XErrorEvent *) = NULL;
 static int
 SDL_XRRSetScreenSizeErrHandler(Display *d, XErrorEvent *e)
 {
-    return (e->error_code == BadMatch) ? 0 : PreXRRSetScreenSizeErrorHandler(d, e);
+    /* BadMatch: https://github.com/libsdl-org/SDL/issues/4561 */
+    /* BadValue: https://github.com/libsdl-org/SDL/issues/4840 */
+    if ((e->error_code == BadMatch) || (e->error_code == BadValue)) {
+        return 0;
+    }
+
+    return PreXRRSetScreenSizeErrorHandler(d, e);
 }
 
 int