From 73ec0187328110acfd1cd6e07956f28e75643c3a Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Wed, 5 May 2010 14:32:22 +0000 Subject: [PATCH] Fix possible crash in RSS selection code --- Changelog | 1 + src/rss_imp.cpp | 4 ++-- src/ui/rss.ui | 14 +++++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Changelog b/Changelog index 053bfab7f..ae8dfe8d5 100644 --- a/Changelog +++ b/Changelog @@ -4,6 +4,7 @@ - BUGFIX: Fix torrent moving after completion feature - BUGFIX: Improved empty folder removing code - BUGFIX: Use guid or news url as RSS items identifier (instead of title) + - BUGFIX: Fix possible crash in RSS item selection code - I18N: Added Croatian translation * Sun Apr 18 2010 - Christophe Dumez - v2.2.6 diff --git a/src/rss_imp.cpp b/src/rss_imp.cpp index 815befa2e..207f281bb 100644 --- a/src/rss_imp.cpp +++ b/src/rss_imp.cpp @@ -460,13 +460,13 @@ void RSSImp::refreshNewsList(QTreeWidgetItem* item) { void RSSImp::refreshTextBrowser() { QList selection = listNews->selectedItems(); if(selection.empty()) return; + Q_ASSERT(selection.size() == 1); QTreeWidgetItem *item = selection.first(); if(item == previous_news) return; // Stop displaying previous news if necessary if(listStreams->currentFeed() == listStreams->getUnreadItem()) { if(previous_news) { - delete previous_news; - previous_news = 0; + delete listNews->takeTopLevelItem(listNews->indexOfTopLevelItem(previous_news)); } previous_news = item; } diff --git a/src/ui/rss.ui b/src/ui/rss.ui index f50651c2c..72cecac46 100644 --- a/src/ui/rss.ui +++ b/src/ui/rss.ui @@ -125,7 +125,10 @@ p, li { white-space: pre-wrap; } Qt::CustomContextMenu - QAbstractItemView::ExtendedSelection + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectItems false @@ -136,6 +139,15 @@ p, li { white-space: pre-wrap; } true + + false + + + false + + + true + false