aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw/drawclient.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdraw/drawclient.c')
-rw-r--r--src/libdraw/drawclient.c9
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");
}