From 92476b7b856d66936cb50350e30c62153da4e798 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Fri, 25 Sep 2009 06:24:48 +0000 Subject: [PATCH] fix segv in internal window restore code SVN revision: 42690 --- src/bin/e_remember.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/e_remember.c b/src/bin/e_remember.c index c2ed28881..a0ff75896 100644 --- a/src/bin/e_remember.c +++ b/src/bin/e_remember.c @@ -616,18 +616,21 @@ _e_remember_cb_hook_pre_post_fetch(void *data, void *border) } } - if (bd->internal && remembers && bd->client.icccm.class) + if (bd->internal && remembers && bd->client.icccm.class && bd->client.icccm.class[0]) { Eina_List *l; EINA_LIST_FOREACH(remembers->list, l, rem) { - if (!strcmp(rem->class, bd->client.icccm.class)) + if (rem->class && !strcmp(rem->class, bd->client.icccm.class)) break; } if (rem) { temporary = 1; remembers->list = eina_list_remove(remembers->list, rem); + if (!remembers->list) + e_config_domain_save("e_remember_restart", + e_remember_list_edd, remembers); } else rem = bd->remember; }