Fix possible crash when selecting a RSS article

This commit is contained in:
Christophe Dumez 2010-11-02 18:04:39 +00:00
parent 12195b186b
commit e2c75b5a11

View file

@ -485,11 +485,16 @@ void RSSImp::refreshTextBrowser() {
if(selection.empty()) return;
Q_ASSERT(selection.size() == 1);
QTreeWidgetItem *item = selection.first();
Q_ASSERT(item);
if(item == previous_news) return;
// Stop displaying previous news if necessary
if(listStreams->currentFeed() == listStreams->getUnreadItem()) {
if(previous_news) {
disconnect(listNews, SIGNAL(itemSelectionChanged()), this, SLOT(refreshTextBrowser()));
listNews->removeItemWidget(previous_news, 0);
Q_ASSERT(previous_news);
delete previous_news;
connect(listNews, SIGNAL(itemSelectionChanged()), this, SLOT(refreshTextBrowser()));
}
previous_news = item;
}
@ -594,6 +599,8 @@ RSSImp::RSSImp(QBtSession *BTSession) : QWidget(), BTSession(BTSession){
splitter_h->insertWidget(0, listStreams);
listNews->hideColumn(NEWS_URL_COL);
listNews->setColumnWidth(0, 16);
listNews->setSelectionBehavior(QAbstractItemView::SelectItems);
listNews->setSelectionMode(QAbstractItemView::SingleSelection);
fillFeedsList();
refreshNewsList(listStreams->currentItem());