mirror of https://github.com/KDE/kasts.git
Fix segfault when trying to remove a non-subscribed podcast
BUG: 471107
This commit is contained in:
parent
cf274a7aca
commit
b529bfc3ca
|
@ -207,14 +207,19 @@ void DataManager::removeFeed(const int index)
|
|||
{
|
||||
// Get feed pointer
|
||||
Feed *feed = getFeed(m_feedmap[index]);
|
||||
if (feed) {
|
||||
removeFeed(feed);
|
||||
}
|
||||
}
|
||||
|
||||
void DataManager::removeFeeds(const QStringList &feedurls)
|
||||
{
|
||||
QList<Feed *> feeds;
|
||||
for (QString feedurl : feedurls) {
|
||||
feeds << getFeed(feedurl);
|
||||
Feed *feed = getFeed(feedurl);
|
||||
if (feed) {
|
||||
feeds << feed;
|
||||
}
|
||||
}
|
||||
removeFeeds(feeds);
|
||||
}
|
||||
|
@ -224,15 +229,18 @@ void DataManager::removeFeeds(const QVariantList feedVariantList)
|
|||
QList<Feed *> feeds;
|
||||
for (QVariant feedVariant : feedVariantList) {
|
||||
if (feedVariant.canConvert<Feed *>()) {
|
||||
if (feedVariant.value<Feed *>()) {
|
||||
feeds << feedVariant.value<Feed *>();
|
||||
}
|
||||
}
|
||||
}
|
||||
removeFeeds(feeds);
|
||||
}
|
||||
|
||||
void DataManager::removeFeeds(const QList<Feed *> &feeds)
|
||||
{
|
||||
for (Feed *feed : feeds) {
|
||||
if (feed) {
|
||||
const QString feedurl = feed->url();
|
||||
int index = m_feedmap.indexOf(feedurl);
|
||||
|
||||
|
@ -311,6 +319,7 @@ void DataManager::removeFeeds(const QList<Feed *> &feeds)
|
|||
|
||||
Q_EMIT feedRemoved(index);
|
||||
}
|
||||
}
|
||||
|
||||
// if settings allow, then upload these changes immediately to sync server
|
||||
Sync::instance().doQuickSync();
|
||||
|
|
Loading…
Reference in New Issue