summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-04-12 22:16:58 +0200
committerGravatar waker <wakeroid@gmail.com>2011-04-12 22:16:58 +0200
commit8d6dab0928866350d981793cd9207d0fb284fb4d (patch)
tree717b41330c5cc37999ddfa3cff4304ea1e1ac7c1 /main.c
parent9f51eafb15fba5a5fad550af3b45e9c8dda5cffd (diff)
intermediate fix to playlist/streamer/plugevent mutex race conditions
Diffstat (limited to 'main.c')
-rw-r--r--main.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/main.c b/main.c
index 3cdf60a9..1668eaee 100644
--- a/main.c
+++ b/main.c
@@ -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);