diff --git a/linphone-app/src/components/participant/ParticipantProxyModel.cpp b/linphone-app/src/components/participant/ParticipantProxyModel.cpp index 1a705692a..a89478c5b 100644 --- a/linphone-app/src/components/participant/ParticipantProxyModel.cpp +++ b/linphone-app/src/components/participant/ParticipantProxyModel.cpp @@ -208,9 +208,11 @@ bool ParticipantProxyModel::filterAcceptsRow (int sourceRow, const QModelIndex & } } -bool ParticipantProxyModel::lessThan (const QModelIndex &left, const QModelIndex &right) const { - const ParticipantModel* a = sourceModel()->data(left).value(); - const ParticipantModel* b = sourceModel()->data(right).value(); - - return a->getCreationTime() > b->getCreationTime() || b->isMe(); +bool ParticipantProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { + const ParticipantModel *a = sourceModel()->data(left).value(); + const ParticipantModel *b = sourceModel()->data(right).value(); + bool bIsRecent = a->getCreationTime() < b->getCreationTime(); + bool aIsMe = a->isMe(); + bool bIsMe = b->isMe(); + return bIsMe || (bIsRecent && !aIsMe); }