diff --git a/src/apps/mediaplayer/playlist/Playlist.cpp b/src/apps/mediaplayer/playlist/Playlist.cpp index 131224052c..5a0da70a6d 100644 --- a/src/apps/mediaplayer/playlist/Playlist.cpp +++ b/src/apps/mediaplayer/playlist/Playlist.cpp @@ -360,7 +360,7 @@ Playlist::ItemAtFast(int32 index) const bool -Playlist::SetCurrentItemIndex(int32 index) +Playlist::SetCurrentItemIndex(int32 index, bool forceNotify) { bool result = true; if (index >= CountItems()) { @@ -371,7 +371,7 @@ Playlist::SetCurrentItemIndex(int32 index) index = -1; result = false; } - if (index == fCurrentIndex) + if (index == fCurrentIndex && !forceNotify) return result; fCurrentIndex = index; diff --git a/src/apps/mediaplayer/playlist/Playlist.h b/src/apps/mediaplayer/playlist/Playlist.h index 7981fa0008..03ec16d4b5 100644 --- a/src/apps/mediaplayer/playlist/Playlist.h +++ b/src/apps/mediaplayer/playlist/Playlist.h @@ -91,7 +91,8 @@ public: PlaylistItem* ItemAtFast(int32 index) const; // navigating current ref - bool SetCurrentItemIndex(int32 index); + bool SetCurrentItemIndex(int32 index, + bool forceNotify = false); int32 CurrentItemIndex() const; void GetSkipInfo(bool* canSkipPrevious, diff --git a/src/apps/mediaplayer/playlist/PlaylistListView.cpp b/src/apps/mediaplayer/playlist/PlaylistListView.cpp index 8350843878..df2e04811b 100644 --- a/src/apps/mediaplayer/playlist/PlaylistListView.cpp +++ b/src/apps/mediaplayer/playlist/PlaylistListView.cpp @@ -331,7 +331,7 @@ PlaylistListView::MouseDown(BPoint where) // only do something if user clicked the same item twice if (fLastClickedItem == item) { BAutolock _(fPlaylist); - fPlaylist->SetCurrentItemIndex(i); + fPlaylist->SetCurrentItemIndex(i, true); handled = true; } } else {