summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-05-06 14:35:16 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-05-06 14:35:16 -0400
commitc286fe48c06fddb8d20553ef64d1910c5826b79f (patch)
treec64a35ad666862f64fc5087e8b3446c7b885fd58
parentf00ba1556750061ff5a0feecf9eee8c396e7b74c (diff)
prune uuid remembers on clean startup
ensure that stale sessions are destroyed regularly
-rw-r--r--src/bin/e_remember.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/bin/e_remember.c b/src/bin/e_remember.c
index e0fec5161..7fcdea399 100644
--- a/src/bin/e_remember.c
+++ b/src/bin/e_remember.c
@@ -36,13 +36,13 @@ static Eina_List *remember_idler_list = NULL;
36EINTERN int 36EINTERN int
37e_remember_init(E_Startup_Mode mode) 37e_remember_init(E_Startup_Mode mode)
38{ 38{
39 Eina_List *l = NULL; 39 Eina_List *ll, *l = NULL;
40 E_Remember *rem; 40 E_Remember *rem;
41 E_Client_Hook *h; 41 E_Client_Hook *h;
42 42
43 if (mode == E_STARTUP_START) 43 if (mode == E_STARTUP_START)
44 { 44 {
45 EINA_LIST_FOREACH(e_config->remembers, l, rem) 45 EINA_LIST_FOREACH_SAFE(e_config->remembers, l, ll, rem)
46 { 46 {
47 if ((rem->apply & E_REMEMBER_APPLY_RUN) && (rem->prop.command)) 47 if ((rem->apply & E_REMEMBER_APPLY_RUN) && (rem->prop.command))
48 { 48 {
@@ -55,6 +55,11 @@ e_remember_init(E_Startup_Mode mode)
55 rem->prop.command); 55 rem->prop.command);
56 } 56 }
57 } 57 }
58 if (rem->apply & E_REMEMBER_APPLY_UUID)
59 {
60 e_config->remembers = eina_list_remove_list(e_config->remembers, l);
61 _e_remember_free(rem);
62 }
58 } 63 }
59 } 64 }
60 E_EVENT_REMEMBER_UPDATE = ecore_event_type_new(); 65 E_EVENT_REMEMBER_UPDATE = ecore_event_type_new();