prune uuid remembers on clean startup

ensure that stale sessions are destroyed regularly
This commit is contained in:
Mike Blumenkrantz 2016-05-06 14:35:16 -04:00
parent f00ba15567
commit c286fe48c0
1 changed files with 7 additions and 2 deletions

View File

@ -36,13 +36,13 @@ static Eina_List *remember_idler_list = NULL;
EINTERN int EINTERN int
e_remember_init(E_Startup_Mode mode) e_remember_init(E_Startup_Mode mode)
{ {
Eina_List *l = NULL; Eina_List *ll, *l = NULL;
E_Remember *rem; E_Remember *rem;
E_Client_Hook *h; E_Client_Hook *h;
if (mode == E_STARTUP_START) if (mode == E_STARTUP_START)
{ {
EINA_LIST_FOREACH(e_config->remembers, l, rem) EINA_LIST_FOREACH_SAFE(e_config->remembers, l, ll, rem)
{ {
if ((rem->apply & E_REMEMBER_APPLY_RUN) && (rem->prop.command)) if ((rem->apply & E_REMEMBER_APPLY_RUN) && (rem->prop.command))
{ {
@ -55,6 +55,11 @@ e_remember_init(E_Startup_Mode mode)
rem->prop.command); rem->prop.command);
} }
} }
if (rem->apply & E_REMEMBER_APPLY_UUID)
{
e_config->remembers = eina_list_remove_list(e_config->remembers, l);
_e_remember_free(rem);
}
} }
} }
E_EVENT_REMEMBER_UPDATE = ecore_event_type_new(); E_EVENT_REMEMBER_UPDATE = ecore_event_type_new();