diff options
author | waker <wakeroid@gmail.com> | 2011-04-12 22:16:58 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2011-04-12 22:16:58 +0200 |
commit | 8d6dab0928866350d981793cd9207d0fb284fb4d (patch) | |
tree | 717b41330c5cc37999ddfa3cff4304ea1e1ac7c1 /main.c | |
parent | 9f51eafb15fba5a5fad550af3b45e9c8dda5cffd (diff) |
intermediate fix to playlist/streamer/plugevent mutex race conditions
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 34 |
1 files changed, 18 insertions, 16 deletions
@@ -234,29 +234,31 @@ server_exec_command_line (const char *cmdline, int len, char *sendback, int sbsi int curr_plt = plt_get_curr (); if (!queue) { pl_clear (); + plug_trigger_event_playlistchanged (); pl_reset_cursor (); } if (parg < pend) { + printf ("query to add files\n"); deadbeef->pl_add_files_begin (curr_plt); - } - while (parg < pend) { - char resolved[PATH_MAX]; - const char *pname; - if (realpath (parg, resolved)) { - pname = resolved; - } - else { - pname = parg; - } - if (deadbeef->pl_add_dir (pname, NULL, NULL) < 0) { - if (deadbeef->pl_add_file (pname, NULL, NULL) < 0) { - fprintf (stderr, "failed to add file or folder %s\n", pname); + while (parg < pend) { + char resolved[PATH_MAX]; + const char *pname; + if (realpath (parg, resolved)) { + pname = resolved; } + else { + pname = parg; + } + if (deadbeef->pl_add_dir (pname, NULL, NULL) < 0) { + if (deadbeef->pl_add_file (pname, NULL, NULL) < 0) { + fprintf (stderr, "failed to add file or folder %s\n", pname); + } + } + parg += strlen (parg); + parg++; } - parg += strlen (parg); - parg++; + deadbeef->pl_add_files_end (); } - deadbeef->pl_add_files_end (); messagepump_push (M_PLAYLIST_REFRESH, 0, 0, 0); if (!queue) { messagepump_push (M_PLAY_CURRENT, 0, 1, 0); |