diff options
Diffstat (limited to 'src/libdraw')
-rw-r--r-- | src/libdraw/drawclient.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libdraw/drawclient.c b/src/libdraw/drawclient.c index f3c42b80..361cb0ac 100644 --- a/src/libdraw/drawclient.c +++ b/src/libdraw/drawclient.c @@ -45,8 +45,17 @@ _displayconnect(Display *d) * The NOLIBTHREADDAEMONIZE keeps devdraw from * forking before threadmain. OS X hates it when * guis fork. + * + * If client didn't use ARGBEGIN, argv0 == nil. + * Can't send nil through because OS X expects + * argv[0] to be non-nil. Also, OS X apparently + * expects argv[0] to be a valid executable name, + * so "(argv0)" is not okay. Use "devdraw" + * instead. */ putenv("NOLIBTHREADDAEMONIZE", "1"); + if(argv0 == nil) + argv0 = "devdraw"; execl("devdraw", argv0, argv0, "(devdraw)", nil); sysfatal("exec devdraw: %r"); } |