diff --git a/modules/gui/qt/playlist/playlist_controller.cpp b/modules/gui/qt/playlist/playlist_controller.cpp index 1e3449c214..48fd9a27c1 100644 --- a/modules/gui/qt/playlist/playlist_controller.cpp +++ b/modules/gui/qt/playlist/playlist_controller.cpp @@ -290,8 +290,15 @@ on_playlist_current_index_changed(vlc_playlist_t *playlist, ssize_t index, that->m_currentIndex = index; emit q->currentIndexChanged(that->m_currentIndex); } - that->m_currentItem = newItem; - emit q->currentItemChanged(); + + // Unlike items updated callback, we should not need to unconditionally + // set the current item to update data because this is only a current + // index changed callback. + if (that->m_currentItem.raw() != newItem.raw()) + { + that->m_currentItem = newItem; + emit q->currentItemChanged(); + } }); }