diff --git a/lib/awful/spawn.lua b/lib/awful/spawn.lua index 3aa432dc..09a0bd0f 100644 --- a/lib/awful/spawn.lua +++ b/lib/awful/spawn.lua @@ -123,7 +123,9 @@ function spawn.with_line_callback(cmd, callbacks) done_before = true return end - done_callback() + if done_callback then + done_callback() + end end if have_stdout then spawn.read_lines(Gio.UnixInputStream.new(stdout, true), diff --git a/spawn.c b/spawn.c index 7d8957af..659dd5f8 100644 --- a/spawn.c +++ b/spawn.c @@ -402,7 +402,7 @@ luaA_spawn(lua_State *L) return_stdout = luaA_checkboolean(L, 4); if(lua_gettop(L) >= 5) return_stderr = luaA_checkboolean(L, 5); - if(lua_gettop(L) >= 6) + if (!lua_isnoneornil(L, 6)) { luaA_checkfunction(L, 6); flags |= G_SPAWN_DO_NOT_REAP_CHILD;