gboolean dt_lua_gtk_wrap_callback(gpointer data) { dt_lua_lock_silent(); gtk_wrap_communication *communication = (gtk_wrap_communication*)data; g_mutex_lock(&communication->end_mutex); communication->retval = dt_lua_do_chunk(communication->L,lua_gettop(communication->L)-1,LUA_MULTRET); g_cond_signal(&communication->end_cond); g_mutex_unlock(&communication->end_mutex); dt_lua_unlock(); return false; }
gboolean dt_lua_gtk_wrap_callback(gpointer data) { dt_lua_lock_silent(); gtk_wrap_communication *communication = (gtk_wrap_communication*)data; g_mutex_lock(&communication->end_mutex); // TODO : propre stack unwinding communication->retval = lua_pcall(communication->L,lua_gettop(communication->L)-1,LUA_MULTRET,0); g_cond_signal(&communication->end_cond); g_mutex_unlock(&communication->end_mutex); dt_lua_unlock(); return false; }