diff --git a/src/core/feedsmodelfeed.cpp b/src/core/feedsmodelfeed.cpp index f5cae4736..8df124944 100755 --- a/src/core/feedsmodelfeed.cpp +++ b/src/core/feedsmodelfeed.cpp @@ -496,6 +496,20 @@ void FeedsModelFeed::updateMessages(const QList &messages) { } foreach (Message message, messages) { + // Check if messages contain relative URLs and if they do, + // then replace them. + if (message.m_url.startsWith('/')) { + QString new_message_url = url(); + int last_slash = new_message_url.lastIndexOf('/'); + + if (last_slash >= 0) { + new_message_url = new_message_url.left(last_slash); + } + + new_message_url += message.m_url; + message.m_url = new_message_url; + } + query_select.bindValue(":feed", feed_id); query_select.bindValue(":title", message.m_title); query_select.bindValue(":url", message.m_url); @@ -520,19 +534,6 @@ void FeedsModelFeed::updateMessages(const QList &messages) { // is among them and add this message if it is not. query_insert.bindValue(":feed", feed_id); query_insert.bindValue(":title", message.m_title); - - if (message.m_url.startsWith('/')) { - QString new_message_url = url(); - int last_slash = new_message_url.lastIndexOf('/'); - - if (last_slash >= 0) { - new_message_url = new_message_url.left(last_slash); - } - - new_message_url += message.m_url; - message.m_url = new_message_url; - } - query_insert.bindValue(":url", message.m_url); query_insert.bindValue(":author", message.m_author); query_insert.bindValue(":date_created", message.m_created.toMSecsSinceEpoch());