diff --git a/src/playlist/playlist.cpp b/src/playlist/playlist.cpp index a353e1d3..728c6b82 100644 --- a/src/playlist/playlist.cpp +++ b/src/playlist/playlist.cpp @@ -581,8 +581,17 @@ int Playlist::previous_row(bool ignore_repeat_track) const { void Playlist::set_current_row(int i, bool is_stopping) { QModelIndex old_current_item_index = current_item_index_; + ClearStreamMetadata(); + if (next_row() != -1 && next_row() != i) { + PlaylistItemPtr next_item = item_at(next_row()); + if (next_item) { + next_item->ClearTemporaryMetadata(); + emit dataChanged(index(next_row(), 0), index(next_row(), ColumnCount - 1)); + } + } + current_item_index_ = QPersistentModelIndex(index(i, 0, QModelIndex())); // if the given item is the first in the queue, remove it from the queue