Commit 493fadd5c1ed70d8cc5518361a9c8da76267d319

Sam Lantinga 2013-11-08T14:04:35

Fixed spot where SDL was assuming that two displays having the same origin means they're the same display. Changed it to check for the same extents instead. (Sam actually wrote this, I'm just reviewing and checking it in.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/video/x11/SDL_x11modes.c b/src/video/x11/SDL_x11modes.c
index a4c242c..ad3b56f 100644
--- a/src/video/x11/SDL_x11modes.c
+++ b/src/video/x11/SDL_x11modes.c
@@ -552,7 +552,8 @@ X11_InitModes(_THIS)
                    in all cases.  Anybody want to give this some love?
                  */
                 crtc = X11_XRRGetCrtcInfo(data->display, res, output_info->crtc);
-                if (!crtc || crtc->x != displaydata->x || crtc->y != displaydata->y) {
+                if (!crtc || crtc->x != displaydata->x || crtc->y != displaydata->y ||
+                    crtc->width != mode.w || crtc->height != mode.h) {
                     X11_XRRFreeOutputInfo(output_info);
                     X11_XRRFreeCrtcInfo(crtc);
                     continue;