Skip to content
Permalink
Browse files

[X11] Obey DISPLAY environment variable when selecting screen (Steaph…

…an Greene)

Discussed in bug #2192, tested with Xvfb in dual head configuration.
  • Loading branch information
gabomdq committed Oct 15, 2014
1 parent 1b341f5 commit 29eb6e9b3cc2a3e82a41903376c194c48f243642
Showing with 11 additions and 2 deletions.
  1. +11 −2 src/video/x11/SDL_x11modes.c
@@ -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) {

0 comments on commit 29eb6e9

Please sign in to comment.