From 89bf64a1ec91a2a7a90f11bba28f1e2a16da19f6 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 5 Sep 2014 08:31:04 +0200 Subject: [PATCH] Experimentally fixed #50. --- resources/text/CHANGELOG | 1 + src/core/feedsmodelfeed.cpp | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG index 2c7fe6119..c1659f733 100644 --- a/resources/text/CHANGELOG +++ b/resources/text/CHANGELOG @@ -4,6 +4,7 @@ Fixed: diff --git a/src/core/feedsmodelfeed.cpp b/src/core/feedsmodelfeed.cpp index 71b555448..f5cae4736 100755 --- a/src/core/feedsmodelfeed.cpp +++ b/src/core/feedsmodelfeed.cpp @@ -495,7 +495,7 @@ void FeedsModelFeed::updateMessages(const QList &messages) { return; } - foreach (const Message &message, messages) { + foreach (Message message, messages) { query_select.bindValue(":feed", feed_id); query_select.bindValue(":title", message.m_title); query_select.bindValue(":url", message.m_url); @@ -520,6 +520,19 @@ 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());