diff --git a/src/modules/auto_playlist_manager.c b/src/modules/auto_playlist_manager.c index 65732a8..4c10587 100644 --- a/src/modules/auto_playlist_manager.c +++ b/src/modules/auto_playlist_manager.c @@ -202,10 +202,10 @@ static void run_adds(void) { char *file; - Eina_List *l, *ll; + Eina_List *l; last_queue_length = empd_queue_length; - EINA_LIST_FOREACH_SAFE(adds, l, ll, file) + while (adds) { const char *a, *b = NULL; Eina_Iterator *it; @@ -213,6 +213,8 @@ run_adds(void) Elm_Object_Item *item; Eina_Bool done = EINA_FALSE; + l = eina_list_data_get(adds); + file = eina_list_data_get(l); a = strrchr(file, '/'); if (a) b = strchr(file, '/'); @@ -283,6 +285,7 @@ run_adds(void) { char *f2; + /* sequentially append all songs from matching directory structure */ empd_empdd_add_list_call(empd_proxy, file); post_add(0, file); while (eina_list_next(l)) @@ -297,7 +300,6 @@ run_adds(void) } adds = eina_list_remove_list(adds, l); free(file); - break; } }