From 8a5c7877bde3d4842d2fd1669323d7a9244657bc Mon Sep 17 00:00:00 2001 From: krolxon Date: Thu, 9 May 2024 15:21:24 +0530 Subject: [PATCH] fix deleting from queue when only two elements if you have only two songs in the queue right now, and you try to delete the second song, it deletes the first song instead. --- src/event/handler.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/event/handler.rs b/src/event/handler.rs index 0fb6460..2b2dff3 100755 --- a/src/event/handler.rs +++ b/src/event/handler.rs @@ -159,13 +159,20 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { // Delete highlighted song from the queue KeyCode::Char('d') => { - if app.queue_list.index >= app.queue_list.list.len() - 1 + if app.queue_list.index >= app.queue_list.list.len() && app.queue_list.index != 0 { app.queue_list.index -= 1; } app.conn.conn.delete(app.queue_list.index as u32)?; + + if app.queue_list.index >= app.queue_list.list.len().saturating_sub(1) + && app.queue_list.index != 0 + { + app.queue_list.index -= 1; + } + app.update_queue(); }