diff --git a/linphone-app/src/components/search/SearchSipAddressesModel.cpp b/linphone-app/src/components/search/SearchSipAddressesModel.cpp index 869acf771..5e06eae7b 100644 --- a/linphone-app/src/components/search/SearchSipAddressesModel.cpp +++ b/linphone-app/src/components/search/SearchSipAddressesModel.cpp @@ -62,7 +62,7 @@ SearchSipAddressesModel::~SearchSipAddressesModel(){ // ----------------------------------------------------------------------------- int SearchSipAddressesModel::rowCount (const QModelIndex &) const { - return std::max(mAddresses.count()-1,0); + return mAddresses.count(); } QHash SearchSipAddressesModel::roleNames () const { @@ -118,16 +118,10 @@ void SearchSipAddressesModel::searchReceived(std::list(linphoneFriend,address ); } -// Fix crash on Qt 5.15.2 with endResetModel (index out of range). - if(mAddresses.size() > 0){// Workaround : remove all - beginRemoveRows(QModelIndex(), 0, mAddresses.size()-1); - mAddresses.clear(); - endRemoveRows(); - } - if( addresses.size() > 0){// Workaround : add new on cleanned base - beginInsertRows(QModelIndex(),0, addresses.size()-1); - mAddresses = addresses; - endInsertRows(); - } -//-------------------------------------------------------------- + beginResetModel(); + mAddresses.clear(); + mAddresses = addresses; + if(mAddresses.size() > 0 )// remove self + mAddresses.pop_back(); + endResetModel(); }