vlc | branch: master | Erwan Tulou <[email protected]> | Sun Sep 22 22:05:07 2019 +0200| [a1c19dde82e31344a109ccb59b727d4649f78cd0] | committer: Thomas Guillem
Qt: fix improper dataChanged() signal emission At https://doc.qt.io/qt-5/qabstractitemmodel.html#dataChanged, it reads: "This signal is emitted whenever the data in an existing item changes." My understanding is that emitting dataChanged() is limited to the update of an existing item. Neither insertion nor deletion of an item have to emit this signal. Furthermore, in the case of deletion, this may lead to the following error: ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 549 Signed-off-by: Thomas Guillem <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a1c19dde82e31344a109ccb59b727d4649f78cd0 --- modules/gui/qt/util/input_models.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/gui/qt/util/input_models.cpp b/modules/gui/qt/util/input_models.cpp index 8c795df1ef..f344e8b7f1 100644 --- a/modules/gui/qt/util/input_models.cpp +++ b/modules/gui/qt/util/input_models.cpp @@ -83,8 +83,6 @@ void TrackListModel::updateTracks(vlc_player_list_action action, const vlc_playe beginInsertRows({}, m_data.size(), m_data.size()); m_data.append(Data{ track_info }); endInsertRows(); - QModelIndex dataIndex = index(m_data.size() - 1); - emit dataChanged(dataIndex, dataIndex); break; } case VLC_PLAYER_LIST_REMOVED: @@ -99,8 +97,6 @@ void TrackListModel::updateTracks(vlc_player_list_action action, const vlc_playe beginRemoveRows({}, pos, pos); m_data.erase(it); endRemoveRows(); - QModelIndex dataIndex = index(pos); - emit dataChanged(dataIndex, dataIndex); break; } case VLC_PLAYER_LIST_UPDATED: _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
