diff --git a/src/application.vala b/src/application.vala index c0203687..d99a2d96 100644 --- a/src/application.vala +++ b/src/application.vala @@ -301,7 +301,7 @@ namespace Cassette { } void on_next () { - if (!player.current_track_loading) { + if (player.can_go_next) { player.next (); } } @@ -312,6 +312,12 @@ namespace Cassette { } } + void on_prev_force () { + if (player.can_go_prev) { + player.prev (true); + } + } + void on_preferences_action () { var pref_win = new PreferencesDialog (); diff --git a/src/client/player/player.vala b/src/client/player/player.vala index cc920d0e..501f8377 100644 --- a/src/client/player/player.vala +++ b/src/client/player/player.vala @@ -241,8 +241,8 @@ public class Cassette.Client.Player.Player : Object { } void update_can_go () { - can_go_next = mode.get_next_index (true) != -1; - can_go_prev = mode.get_prev_index () != -1 || playback_pos_sec > 3.0; + can_go_next = mode.get_next_index (true) != -1 && current_track_loading; + can_go_prev = mode.get_prev_index () != -1 || playback_pos_sec > 3.0 && current_track_loading; } void reset_play () {