Fix regression in executor (issue #639)
o9000 mrovi9000@gmail.com
3 files changed,
8 insertions(+),
5 deletions(-)
M
src/execplugin/execplugin.c
→
src/execplugin/execplugin.c
@@ -588,8 +588,10 @@ y,
execp->area.width, execp->area.height, command); - tint_exec(full_cmd, NULL, NULL, time); + pid_t pid = tint_exec(full_cmd, NULL, NULL, time); g_free(full_cmd); + if (pid > 0) + g_tree_insert(execp->backend->cmd_pids, GINT_TO_POINTER(pid), GINT_TO_POINTER(1)); } else { execp_force_update(execp); }
M
src/util/common.c
→
src/util/common.c
@@ -103,17 +103,17 @@ }
extern char *config_path; -void tint_exec(const char *command, const char *dir, const char *tooltip, Time time) +pid_t tint_exec(const char *command, const char *dir, const char *tooltip, Time time) { if (!command || strlen(command) == 0) - return; + return -1; command = g_strdup_printf("export TINT2_CONFIG=%s;" "%s", config_path, command); if (!command) - return; + return -1; if (!tooltip) tooltip = command;@@ -160,6 +160,7 @@ g_tree_insert(server.pids, GINT_TO_POINTER(pid), ctx);
} #endif // HAVE_SN } + return pid; } void tint_exec_no_sn(const char *command)
M
src/util/common.h
→
src/util/common.h
@@ -54,7 +54,7 @@ void extract_values(const char *value, char **value1, char **value2, char **value3);
void extract_values_4(const char *value, char **value1, char **value2, char **value3, char **value4); // Executes a command in a shell. -void tint_exec(const char *command, const char *dir, const char *tooltip, Time time); +pid_t tint_exec(const char *command, const char *dir, const char *tooltip, Time time); void tint_exec_no_sn(const char *command); // Returns a copy of s in which "~" is expanded to the path to the user's home directory.