Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'jb52774_fix' into 'master'
Fix problems found in commhistory-daemon unit tests

See merge request mer-core/libcommhistory!54
  • Loading branch information
Tomin1 committed Apr 14, 2021
2 parents 251c21d + 16073d9 commit 2a51534
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/recipient.cpp
Expand Up @@ -48,6 +48,15 @@ quint32 addressFlagValues(quint64 statusFlags)
return statusFlags & (QContactStatusFlags::HasPhoneNumber | QContactStatusFlags::HasEmailAddress | QContactStatusFlags::HasOnlineAccount);
}

QPair<QString, QString> makeUidPair(const QString &localUid, const QString &remoteUid)
{
// If localUid is for phone number, use prefix alone to find the RecipientPrivate
// this avoids problems with different SIMs etc.
const bool usesPhoneNumberComparison = CommHistory::localUidComparesPhoneNumbers(localUid);
return qMakePair(usesPhoneNumberComparison ? CommHistory::RING_ACCOUNT : localUid,
::minimizeRemoteUid(remoteUid, usesPhoneNumberComparison));
}

}

bool recipient_initialized = initializeTypes();
Expand Down Expand Up @@ -135,7 +144,7 @@ RecipientPrivate::RecipientPrivate(const QString &local, const QString &remote)
RecipientPrivate::~RecipientPrivate()
{
if (!recipientInstances.isDestroyed()) {
recipientInstances->remove(qMakePair(localUid, remoteUid.toLower()));
recipientInstances->remove(makeUidPair(localUid, remoteUid));
}
}

Expand All @@ -145,7 +154,7 @@ QSharedPointer<RecipientPrivate> RecipientPrivate::get(const QString &localUid,
return *sharedNullRecipient;
}

const QPair<QString,QString> uids = qMakePair(localUid, remoteUid.toLower());
const QPair<QString, QString> uids = makeUidPair(localUid, remoteUid);
QSharedPointer<RecipientPrivate> instance = recipientInstances->value(uids);
if (!instance) {
instance = QSharedPointer<RecipientPrivate>(new RecipientPrivate(localUid, remoteUid));
Expand Down

0 comments on commit 2a51534

Please sign in to comment.