diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 263cecbe0..1a37d9db9 100755 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -2747,6 +2747,7 @@ void QBtSession::addMagnetSkipAddDlg(const QString& uri, const QString& save_pat if (!save_path.isEmpty() || !label.isEmpty()) savepathLabel_fromurl[uri] = qMakePair(save_path, label); addMagnetUri(uri, false); + emit newDownloadedTorrentFromRss(uri); } void QBtSession::downloadUrlAndSkipDialog(QString url, QString save_path, QString label, const QList& cookies) { diff --git a/src/rss/rssfeed.cpp b/src/rss/rssfeed.cpp index b88982533..2d3407170 100644 --- a/src/rss/rssfeed.cpp +++ b/src/rss/rssfeed.cpp @@ -355,13 +355,12 @@ void RssFeed::downloadArticleTorrentIfMatching(RssDownloadRuleList* rules, const // Download the torrent const QString& torrent_url = article->torrentUrl(); QBtSession::instance()->addConsoleMessage(tr("Automatically downloading %1 torrent from %2 RSS feed...").arg(article->title()).arg(displayName())); + connect(QBtSession::instance(), SIGNAL(newDownloadedTorrentFromRss(QString)), article.data(), SLOT(handleTorrentDownloadSuccess(const QString&)), Qt::UniqueConnection); + connect(article.data(), SIGNAL(articleWasRead()), SLOT(handleArticleStateChanged()), Qt::UniqueConnection); if (torrent_url.startsWith("magnet:", Qt::CaseInsensitive)) QBtSession::instance()->addMagnetSkipAddDlg(torrent_url, matching_rule->savePath(), matching_rule->label()); - else { - connect(QBtSession::instance(), SIGNAL(newDownloadedTorrentFromRss(QString)), article.data(), SLOT(handleTorrentDownloadSuccess(const QString&)), Qt::UniqueConnection); - connect(article.data(), SIGNAL(articleWasRead()), SLOT(handleArticleStateChanged()), Qt::UniqueConnection); + else QBtSession::instance()->downloadUrlAndSkipDialog(torrent_url, matching_rule->savePath(), matching_rule->label(), feedCookies()); - } } void RssFeed::recheckRssItemsForDownload()