Don't cause QHash relayout while using reference to its node

This commit is contained in:
Vladimir Golovnev (Glassez) 2021-03-23 13:17:36 +03:00
parent 9b31496b22
commit 1a9e97ee3b
No known key found for this signature in database
GPG key ID: 52A2C7DEE2DFA6F7

View file

@ -823,15 +823,16 @@ void Parser::addArticle(QVariantHash article)
{ {
QVariant &torrentURL = article[Article::KeyTorrentURL]; QVariant &torrentURL = article[Article::KeyTorrentURL];
if (torrentURL.toString().isEmpty()) if (torrentURL.toString().isEmpty())
torrentURL = article[Article::KeyLink]; torrentURL = article.value(Article::KeyLink);
// If item does not have an ID, fall back to some other identifier. // If item does not have an ID, fall back to some other identifier.
QVariant &localId = article[Article::KeyId]; QVariant &localId = article[Article::KeyId];
if (localId.toString().isEmpty()) if (localId.toString().isEmpty())
{
localId = article.value(Article::KeyTorrentURL); localId = article.value(Article::KeyTorrentURL);
if (localId.toString().isEmpty()) if (localId.toString().isEmpty())
{
localId = article.value(Article::KeyTitle); localId = article.value(Article::KeyTitle);
if (localId.toString().isEmpty()) if (localId.toString().isEmpty())
{ {
// The article could not be uniquely identified // The article could not be uniquely identified
@ -839,6 +840,8 @@ void Parser::addArticle(QVariantHash article)
// Just ignore it. // Just ignore it.
return; return;
} }
}
}
if (m_articleIDs.contains(localId.toString())) if (m_articleIDs.contains(localId.toString()))
{ {