[X11] Obey DISPLAY environment variable when selecting screen (Steaphan Greene)

Discussed in bug #2192, tested with Xvfb in dual head configuration.
This commit is contained in:
Gabriel Jacobo 2014-10-15 18:33:43 -03:00
parent 1b341f5875
commit 29eb6e9b3c
1 changed files with 11 additions and 2 deletions

View File

@ -375,7 +375,7 @@ int
X11_InitModes(_THIS)
{
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
int screen, screencount;
int snum, screen, screencount;
#if SDL_VIDEO_DRIVER_X11_XINERAMA
int xinerama_major, xinerama_minor;
int use_xinerama = 0;
@ -423,7 +423,7 @@ X11_InitModes(_THIS)
}
#endif /* SDL_VIDEO_DRIVER_X11_XVIDMODE */
for (screen = 0; screen < screencount; ++screen) {
for (snum = 0; snum < screencount; ++snum) {
XVisualInfo vinfo;
SDL_VideoDisplay display;
SDL_DisplayData *displaydata;
@ -433,6 +433,15 @@ X11_InitModes(_THIS)
char display_name[128];
int i, n;
/* Re-order screens to always put default screen first */
if (snum == 0) {
screen = DefaultScreen(data->display);
} else if (snum == DefaultScreen(data->display)) {
screen = 0;
} else {
screen = snum;
}
#if SDL_VIDEO_DRIVER_X11_XINERAMA
if (xinerama) {
if (get_visualinfo(data->display, 0, &vinfo) < 0) {