XQuartz: unsetenv("DISPLAY") before startx if X11.app can't connect to it.
Also fix casting to silence warning.
(cherry picked from commit a5cbf78471
)
This commit is contained in:
parent
6cbaf15e61
commit
5f5ec5db35
|
@ -45,6 +45,7 @@ static char *command_from_prefs(const char *key, const char *default_value);
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
Display *display;
|
Display *display;
|
||||||
|
const char *s;
|
||||||
|
|
||||||
size_t i;
|
size_t i;
|
||||||
fprintf(stderr, "X11.app: main(): argc=%d\n", argc);
|
fprintf(stderr, "X11.app: main(): argc=%d\n", argc);
|
||||||
|
@ -72,7 +73,12 @@ int main(int argc, char **argv) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Start the server */
|
/* Start the server */
|
||||||
fprintf(stderr, "X11.app: Could not connect to server. Starting X server.");
|
if(s = getenv("DISPLAY")) {
|
||||||
|
fprintf(stderr, "X11.app: Could not connect to server (DISPLAY=\"%s\", unsetting). Starting X server.\n", s);
|
||||||
|
unsetenv("DISPLAY");
|
||||||
|
} else {
|
||||||
|
fprintf(stderr, "X11.app: Could not connect to server (DISPLAY is not set). Starting X server.\n");
|
||||||
|
}
|
||||||
return execute(command_from_prefs("startx_script", DEFAULT_STARTX));
|
return execute(command_from_prefs("startx_script", DEFAULT_STARTX));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,7 +99,7 @@ static int execute(const char *command) {
|
||||||
fprintf(stderr, "\targv[%d] = %s\n", s - newargv, *s);
|
fprintf(stderr, "\targv[%d] = %s\n", s - newargv, *s);
|
||||||
}
|
}
|
||||||
|
|
||||||
execvp (newargv[0], (const char **) newargv);
|
execvp (newargv[0], (char * const *) newargv);
|
||||||
perror ("X11.app: Couldn't exec.");
|
perror ("X11.app: Couldn't exec.");
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user