[X11] Obey DISPLAY environment variable when selecting screen (Steaphan Greene)
Discussed in bug #2192, tested with Xvfb in dual head configuration.main
parent
1b341f5875
commit
29eb6e9b3c
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue