From 301a1ec905a3f3cc3dcab7f9a56fef710adc781b Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Tue, 29 Dec 2009 23:54:17 +0000 Subject: [PATCH] Kill and apps that we have run from 'home' when we unload the module. (to cleanup nicely when we exit). SVN revision: 44770 --- src/modules/illume-home/e_mod_main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/illume-home/e_mod_main.c b/src/modules/illume-home/e_mod_main.c index 288930305..32287987a 100644 --- a/src/modules/illume-home/e_mod_main.c +++ b/src/modules/illume-home/e_mod_main.c @@ -26,6 +26,7 @@ struct _Il_Home_Win struct _Il_Home_Exec { Efreet_Desktop *desktop; + Ecore_Exe *exec; E_Border *border; Ecore_Timer *timeout; int startup_id; @@ -136,6 +137,12 @@ e_modapi_shutdown(E_Module *m) EINA_LIST_FREE(exes, exe) { + if (exe->exec) + { + ecore_exe_terminate(exe->exec); + ecore_exe_free(exe->exec); + exe->exec = NULL; + } if (exe->handle) { e_busycover_pop(busycover, exe->handle); @@ -474,7 +481,7 @@ _il_home_desktop_run(Il_Home_Win *hwin, Efreet_Desktop *desktop) EINA_LIST_FOREACH(exes, l, exe) { - if ((exe->desktop == desktop)) + if (exe->desktop == desktop) { if (exe->border) { @@ -505,6 +512,7 @@ _il_home_desktop_run(Il_Home_Win *hwin, Efreet_Desktop *desktop) exe->desktop = desktop; if (eins) { + exe->exec = eins->exe; exe->startup_id = eins->startup_id; exe->pid = ecore_exe_pid_get(eins->exe); }