forked from enlightenment/enlightenment
use e_exec in action for exec. debugging printfs tew.
SVN revision: 33990
This commit is contained in:
parent
167bc53a57
commit
f6a2d93ced
|
@ -1477,16 +1477,16 @@ ACT_FN_GO_KEY(menu_show)
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
ACT_FN_GO(exec)
|
ACT_FN_GO(exec)
|
||||||
|
{
|
||||||
|
E_Zone *zone;
|
||||||
|
|
||||||
|
zone = _e_actions_zone_get(obj);
|
||||||
|
if (zone)
|
||||||
{
|
{
|
||||||
if (params)
|
if (params)
|
||||||
{
|
{
|
||||||
Ecore_Exe *exe;
|
e_exec(zone, NULL, params, NULL, "action/exec");
|
||||||
|
}
|
||||||
e_util_library_path_strip();
|
|
||||||
exe = ecore_exe_run(params, NULL);
|
|
||||||
e_util_library_path_restore();
|
|
||||||
e_exehist_add("action/exec", params);
|
|
||||||
if (exe) ecore_exe_free(exe);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -290,12 +290,17 @@ _e_exec_cb_exit(void *data, int type, void *event)
|
||||||
E_Exec_Instance *inst;
|
E_Exec_Instance *inst;
|
||||||
|
|
||||||
ev = event;
|
ev = event;
|
||||||
|
printf("child exit...\n");
|
||||||
if (!ev->exe) return 1;
|
if (!ev->exe) return 1;
|
||||||
|
if (ecore_exe_tag_get(ev->exe)) printf(" tag %s\n", ecore_exe_tag_get(ev->exe));
|
||||||
if (!(ecore_exe_tag_get(ev->exe) &&
|
if (!(ecore_exe_tag_get(ev->exe) &&
|
||||||
(!strcmp(ecore_exe_tag_get(ev->exe), "E/exec")))) return 1;
|
(!strcmp(ecore_exe_tag_get(ev->exe), "E/exec")))) return 1;
|
||||||
inst = ecore_exe_data_get(ev->exe);
|
inst = ecore_exe_data_get(ev->exe);
|
||||||
|
printf(" inst = %p\n", inst);
|
||||||
if (!inst) return 1;
|
if (!inst) return 1;
|
||||||
|
|
||||||
|
printf(" inst exec line -- '%s'\n", ecore_exe_cmd_get(inst->exe));
|
||||||
|
|
||||||
/* /bin/sh uses this if cmd not found */
|
/* /bin/sh uses this if cmd not found */
|
||||||
if ((ev->exited) &&
|
if ((ev->exited) &&
|
||||||
((ev->exit_code == 127) || (ev->exit_code == 255)))
|
((ev->exit_code == 127) || (ev->exit_code == 255)))
|
||||||
|
@ -331,6 +336,8 @@ _e_exec_cb_exit(void *data, int type, void *event)
|
||||||
ecore_exe_event_data_get(ev->exe, ECORE_EXE_PIPE_ERROR),
|
ecore_exe_event_data_get(ev->exe, ECORE_EXE_PIPE_ERROR),
|
||||||
ecore_exe_event_data_get(ev->exe, ECORE_EXE_PIPE_READ));
|
ecore_exe_event_data_get(ev->exe, ECORE_EXE_PIPE_READ));
|
||||||
}
|
}
|
||||||
|
if (inst->desktop)
|
||||||
|
{
|
||||||
instances = evas_hash_find(e_exec_instances, inst->desktop->orig_path);
|
instances = evas_hash_find(e_exec_instances, inst->desktop->orig_path);
|
||||||
if (instances)
|
if (instances)
|
||||||
{
|
{
|
||||||
|
@ -340,6 +347,7 @@ _e_exec_cb_exit(void *data, int type, void *event)
|
||||||
else
|
else
|
||||||
e_exec_instances = evas_hash_del(e_exec_instances, inst->desktop->orig_path, NULL);
|
e_exec_instances = evas_hash_del(e_exec_instances, inst->desktop->orig_path, NULL);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
e_exec_start_pending = evas_list_remove(e_exec_start_pending, inst->desktop);
|
e_exec_start_pending = evas_list_remove(e_exec_start_pending, inst->desktop);
|
||||||
if (inst->expire_timer) ecore_timer_del(inst->expire_timer);
|
if (inst->expire_timer) ecore_timer_del(inst->expire_timer);
|
||||||
if (inst->desktop) efreet_desktop_free(inst->desktop);
|
if (inst->desktop) efreet_desktop_free(inst->desktop);
|
||||||
|
|
Loading…
Reference in New Issue