XQuartz: unsetenv("DISPLAY") before startx if X11.app can't connect to it.
Also fix casting to silence warning. (cherry picked from commit a5cbf78471ec6e6ad672dc00118fc7edbd6ddc7c)
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