| author | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-12-09 05:59:49 (GMT) |
|---|---|---|
| committer | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-12-10 23:05:44 (GMT) |
| commit | 9cbed0a325175e7ddb751db54fe6c0f5a5cedd16 (patch) (side-by-side diff) | |
| tree | 348608baaf8212da99baf5df672eede7c2c64726 | |
| parent | 99b2cbf061a9d074e66e6220dc08f8b4624ea6bb (diff) | |
| download | xserver-9cbed0a325175e7ddb751db54fe6c0f5a5cedd16.zip xserver-9cbed0a325175e7ddb751db54fe6c0f5a5cedd16.tar.gz | |
XQuartz: unset DISPLAY if we didn't get a launchd socket handoff
(cherry picked from commit b959727f38733009c6381cc8ca06b5984257bdac)
| -rw-r--r-- | hw/xquartz/mach-startup/bundle-main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c index 8b6d458..6b48c13 100644 --- a/hw/xquartz/mach-startup/bundle-main.c +++ b/hw/xquartz/mach-startup/bundle-main.c @@ -278,8 +278,12 @@ static int create_socket(char *filename_out) { return 0; } +static int launchd_socket_handed_off = 0; + kern_return_t do_request_fd_handoff_socket(mach_port_t port, string_t filename) { socket_handoff_t *handoff_data; + + launchd_socket_handed_off = 1; handoff_data = (socket_handoff_t *)calloc(1,sizeof(socket_handoff_t)); if(!handoff_data) { @@ -318,6 +322,12 @@ kern_return_t do_start_x11_server(mach_port_t port, string_array_t argv, char **_envp = alloca((envpCnt + 1) * sizeof(char *)); size_t i; + /* If we didn't get handed a launchd DISPLAY socket, we shoul + * unset DISPLAY or we can run into problems with pbproxy + */ + if(!launchd_socket_handed_off) + unsetenv("DISPLAY"); + if(!_argv || !_envp) { return KERN_FAILURE; } |
