diff --git a/playlist.c b/playlist.c index 5ccc40cd2e..7406e75df0 100644 --- a/playlist.c +++ b/playlist.c @@ -309,9 +309,17 @@ bool playlist_push(playlist_t *playlist, for (i = 0; i < playlist->size; i++) { struct playlist_entry tmp; - bool equal_path = (!path && !playlist->entries[i].path) || + bool equal_path; + + equal_path = (!path && !playlist->entries[i].path) || (path && playlist->entries[i].path && - string_is_equal(path,playlist->entries[i].path)); +#ifdef _WIN32 + /*prevent duplicates on case-insensitive operating systems*/ + string_is_equal_noncase(path,playlist->entries[i].path) +#else + string_is_equal(path,playlist->entries[i].path) +#endif + ); /* Core name can have changed while still being the same core. * Differentiate based on the core path only. */ diff --git a/tasks/task_content.c b/tasks/task_content.c index 0c8f0b4129..926d2e1d62 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -996,7 +996,7 @@ static bool command_event_cmd_exec(const char *data, #if defined(HAVE_DYNAMIC) if (!task_load_content(&content_info, content_ctx, - false, launched_from_cli, error_string)) + true, launched_from_cli, error_string)) return false; #else frontend_driver_set_fork(FRONTEND_FORK_CORE_WITH_ARGS);