From 6684b4b23b2fd8a1fc4ae4f9b2f8bd90cd1e5846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Molinari?= Date: Mon, 10 Aug 2015 13:38:47 +0200 Subject: Emit mediaAboutToBeRemoved() before mediaRemoved() in QMediaPlaylist. When a new playlist's mediaObject is set, the content is cleared and the mediaRemoved() signal is emitted without a former mediaAboutToBeRemoved(). This is an issue for QAbstractItemModel implementations, like the coming QDeclarativePlaylist, which call beginInsertRow() and endInsertRows() in the respective signal handlers. Change-Id: I7ec512ff2736e92858df94d9479741e05162e1f0 Reviewed-by: Yoann Lopes --- src/multimedia/playback/qmediaplaylist.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/multimedia/playback/qmediaplaylist.cpp b/src/multimedia/playback/qmediaplaylist.cpp index 9b5d9a681..06813592e 100644 --- a/src/multimedia/playback/qmediaplaylist.cpp +++ b/src/multimedia/playback/qmediaplaylist.cpp @@ -214,8 +214,10 @@ bool QMediaPlaylist::setMediaObject(QMediaObject *mediaObject) connect(d->control, SIGNAL(currentMediaChanged(QMediaContent)), this, SIGNAL(currentMediaChanged(QMediaContent))); - if (oldSize) + if (oldSize) { + emit mediaAboutToBeRemoved(0, oldSize-1); emit mediaRemoved(0, oldSize-1); + } if (playlist->mediaCount()) { emit mediaAboutToBeInserted(0,playlist->mediaCount()-1); -- cgit v1.2.1