aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/PlayerThread.cxx11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/PlayerThread.cxx b/src/PlayerThread.cxx
index 543c1fcae..02f60546f 100644
--- a/src/PlayerThread.cxx
+++ b/src/PlayerThread.cxx
@@ -912,8 +912,6 @@ player::SongBorder()
inline void
player::Run()
{
- pc.Unlock();
-
pipe = new MusicPipe();
StartDecoder(*pipe);
@@ -923,8 +921,6 @@ player::Run()
StopDecoder();
player_command_finished(pc);
delete pipe;
- GlobalEvents::Emit(GlobalEvents::PLAYLIST);
- pc.Lock();
return;
}
@@ -1095,10 +1091,6 @@ player::Run()
pc.state = PLAYER_STATE_STOP;
pc.Unlock();
-
- GlobalEvents::Emit(GlobalEvents::PLAYLIST);
-
- pc.Lock();
}
static void
@@ -1127,7 +1119,10 @@ player_task(gpointer arg)
case PLAYER_COMMAND_QUEUE:
assert(pc.next_song != NULL);
+ pc.Unlock();
do_play(pc, dc, buffer);
+ GlobalEvents::Emit(GlobalEvents::PLAYLIST);
+ pc.Lock();
break;
case PLAYER_COMMAND_STOP: