diff --git a/src/daemon/entrance_history.c b/src/daemon/entrance_history.c index cf3aa4c..b958121 100644 --- a/src/daemon/entrance_history.c +++ b/src/daemon/entrance_history.c @@ -245,6 +245,8 @@ _entrance_user_init(void) } } eina_stringshare_del(user); + eu->icon_pool = entrance_image_user_icons(eu->login); + eu->background_pool = entrance_image_user_backgrounds(eu->login); _lusers = eina_list_append(_lusers, eu); } } @@ -253,6 +255,7 @@ static void _entrance_user_shutdown(void) { Entrance_Login *eu; + char *buf; EINA_LIST_FREE(_lusers, eu) { if (!_entrance_history_match(eu->login)) @@ -263,6 +266,14 @@ _entrance_user_shutdown(void) eina_stringshare_del(eu->image.group); eina_stringshare_del(eu->bg.path); eina_stringshare_del(eu->bg.group); + EINA_LIST_FREE(eu->background_pool, buf) + { + eina_stringshare_del(buf); + } + EINA_LIST_FREE(eu->icon_pool, buf) + { + eina_stringshare_del(buf); + } free(eu); } } diff --git a/src/event/entrance_event.c b/src/event/entrance_event.c index cf26747..0182fec 100644 --- a/src/event/entrance_event.c +++ b/src/event/entrance_event.c @@ -223,8 +223,9 @@ _entrance_event_users_dd(void) static Eet_Data_Descriptor * _entrance_event_conf_user_dd(void) { - Eet_Data_Descriptor *edd; + Eet_Data_Descriptor *edd, *eddi; Eet_Data_Descriptor_Class eddc; + eddi = _entrance_event_image_dd(); EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, Entrance_Login); edd = eet_data_descriptor_stream_new(&eddc); #define EET_LOGIN_ADD(NAME, TYPE) \ @@ -237,6 +238,14 @@ _entrance_event_conf_user_dd(void) EET_LOGIN_ADD(lsess, EET_T_STRING); EET_LOGIN_ADD(remember_session, EET_T_INT); // TODO screenshot + + if (stream) + { + EET_DATA_DESCRIPTOR_ADD_LIST(edd, Entrance_Login, "icon_pool", + icon_pool, eddi); + EET_DATA_DESCRIPTOR_ADD_LIST(edd, Entrance_Login, "background_pool", + background_pool, eddi); + } #undef EET_LOGIN_ADD return edd; } diff --git a/src/event/entrance_event.h b/src/event/entrance_event.h index 3b7341b..ae0dfc1 100644 --- a/src/event/entrance_event.h +++ b/src/event/entrance_event.h @@ -94,6 +94,8 @@ typedef struct Entrance_Login_ Entrance_Image bg; Entrance_Image image; Eina_Bool remember_session; + Eina_List *icon_pool; + Eina_List *background_pool; } Entrance_Login; typedef struct Entrance_User_Pool_