Browse Source

Fix possible crash when adding a new RSS stream

adaptive-webui-19844
Christophe Dumez 13 years ago
parent
commit
c40801ce99
  1. 2
      src/rss/rss_imp.cpp
  2. 10
      src/rss/rssfeed.cpp
  3. 3
      src/rss/rssfolder.cpp

2
src/rss/rss_imp.cpp

@ -184,7 +184,7 @@ void RSSImp::on_newFeedButton_clicked() { @@ -184,7 +184,7 @@ void RSSImp::on_newFeedButton_clicked() {
if (parent_item == m_feedList->stickyUnreadItem()) {
parent_item = 0;
} else {
if (m_feedList->isFolder(parent_item))
if (!m_feedList->isFolder(parent_item))
parent_item = parent_item->parent();
}
}

10
src/rss/rssfeed.cpp

@ -258,15 +258,19 @@ bool RssFeed::parseRSS(QIODevice* device) @@ -258,15 +258,19 @@ bool RssFeed::parseRSS(QIODevice* device)
parseRSSChannel(xml);
found_channel = true;
break;
} else
} else {
qDebug() << "Skip rss item: " << xml.name();
xml.skipCurrentElement();
}
}
break;
} else
} else {
qDebug() << "Skip root item: " << xml.name();
xml.skipCurrentElement();
}
}
if (xml.error()) {
if (xml.hasError()) {
qWarning() << "Error parsing RSS document: " << xml.errorString();
}

3
src/rss/rssfolder.cpp

@ -69,7 +69,10 @@ RssFolderPtr RssFolder::addFolder(const QString &name) { @@ -69,7 +69,10 @@ RssFolderPtr RssFolder::addFolder(const QString &name) {
}
RssFeedPtr RssFolder::addStream(RssManager* manager, const QString &url) {
qDebug() << Q_FUNC_INFO << manager << url;
RssFeedPtr stream(new RssFeed(manager, this, url));
Q_ASSERT(stream);
qDebug() << "Stream URL is " << stream->url();
Q_ASSERT(!m_children.contains(stream->url()));
m_children[stream->url()] = stream;
stream->refresh();

Loading…
Cancel
Save