summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-07-01 13:25:09 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-07-01 13:25:09 +0100
commit979a8e895314aecdcd79517d41dd473f74c02ea9 (patch)
tree2ad6d8060df4a97cf822bc6e4bbc95c637e499ee /src
parentdabda6154bfa4f2eaf5e945a1b95c2505502981c (diff)
e exec - if an invalid exe is found - null it out
Diffstat (limited to 'src')
-rw-r--r--src/bin/e_exec.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/bin/e_exec.c b/src/bin/e_exec.c
index 0a9be5afe..40cd0f344 100644
--- a/src/bin/e_exec.c
+++ b/src/bin/e_exec.c
@@ -805,6 +805,14 @@ _e_exec_startup_id_pid_find(const Eina_Hash *hash EINA_UNUSED, const void *key E
805 search = data; 805 search = data;
806 EINA_LIST_FOREACH(value, l, inst) 806 EINA_LIST_FOREACH(value, l, inst)
807 { 807 {
808 pid_t exe_pid;
809
810 exe_pid = 0;
811 if (inst->exe)
812 {
813 exe_pid = ecore_exe_pid_get(inst->exe);
814 if (exe_pid <= 0) inst->exe = NULL;
815 }
808 if (((search->desktop) && 816 if (((search->desktop) &&
809 (search->desktop == inst->desktop)) || 817 (search->desktop == inst->desktop)) ||
810 818
@@ -812,7 +820,7 @@ _e_exec_startup_id_pid_find(const Eina_Hash *hash EINA_UNUSED, const void *key E
812 (search->startup_id == inst->startup_id)) || 820 (search->startup_id == inst->startup_id)) ||
813 821
814 ((inst->exe) && (search->pid > 1) && (!inst->phony) && 822 ((inst->exe) && (search->pid > 1) && (!inst->phony) &&
815 (search->pid == ecore_exe_pid_get(inst->exe)))) 823 (search->pid == exe_pid)))
816 { 824 {
817 search->inst = inst; 825 search->inst = inst;
818 return EINA_FALSE; 826 return EINA_FALSE;