diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/PlayerThread.cxx | 10 | ||||
-rw-r--r-- | src/protocol/ArgParser.cxx | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/PlayerThread.cxx b/src/PlayerThread.cxx index ac2cb84bd..599df833d 100644 --- a/src/PlayerThread.cxx +++ b/src/PlayerThread.cxx @@ -350,6 +350,8 @@ player_open_output(struct player *player) pc->state = PLAYER_STATE_PAUSE; pc->Unlock(); + idle_add(IDLE_PLAYER); + return false; } } @@ -834,6 +836,8 @@ play_next_chunk(struct player *player) pc->Unlock(); + idle_add(IDLE_PLAYER); + return false; } @@ -879,13 +883,17 @@ player_song_border(struct player *player) struct player_control *const pc = player->pc; pc->Lock(); - if (pc->border_pause) { + const bool border_pause = pc->border_pause; + if (border_pause) { player->paused = true; pc->state = PLAYER_STATE_PAUSE; } pc->Unlock(); + if (border_pause) + idle_add(IDLE_PLAYER); + return true; } diff --git a/src/protocol/ArgParser.cxx b/src/protocol/ArgParser.cxx index 0ab19f7d4..6bd53a358 100644 --- a/src/protocol/ArgParser.cxx +++ b/src/protocol/ArgParser.cxx @@ -103,7 +103,7 @@ check_range(Client *client, unsigned *value_r1, unsigned *value_r2, if (*test == ':') { value = strtol(++test, &test2, 10); - if (test2 == test || *test2 != '\0') { + if (*test2 != '\0') { command_error(client, ACK_ERROR_ARG, "Integer or range expected: %s", s); return false; |