Kill and apps that we have run from 'home' when we unload the module. (to

cleanup nicely when we exit).



SVN revision: 44770
This commit is contained in:
Christopher Michael 2009-12-29 23:54:17 +00:00
parent 67a4f2caa0
commit 301a1ec905
1 changed files with 9 additions and 1 deletions

View File

@ -26,6 +26,7 @@ struct _Il_Home_Win
struct _Il_Home_Exec struct _Il_Home_Exec
{ {
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
Ecore_Exe *exec;
E_Border *border; E_Border *border;
Ecore_Timer *timeout; Ecore_Timer *timeout;
int startup_id; int startup_id;
@ -136,6 +137,12 @@ e_modapi_shutdown(E_Module *m)
EINA_LIST_FREE(exes, exe) EINA_LIST_FREE(exes, exe)
{ {
if (exe->exec)
{
ecore_exe_terminate(exe->exec);
ecore_exe_free(exe->exec);
exe->exec = NULL;
}
if (exe->handle) if (exe->handle)
{ {
e_busycover_pop(busycover, 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) EINA_LIST_FOREACH(exes, l, exe)
{ {
if ((exe->desktop == desktop)) if (exe->desktop == desktop)
{ {
if (exe->border) if (exe->border)
{ {
@ -505,6 +512,7 @@ _il_home_desktop_run(Il_Home_Win *hwin, Efreet_Desktop *desktop)
exe->desktop = desktop; exe->desktop = desktop;
if (eins) if (eins)
{ {
exe->exec = eins->exe;
exe->startup_id = eins->startup_id; exe->startup_id = eins->startup_id;
exe->pid = ecore_exe_pid_get(eins->exe); exe->pid = ecore_exe_pid_get(eins->exe);
} }