From 4e4ac771a9fda5c9451eca4397654e8ee4d94b1c Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sun, 19 Feb 2012 19:43:57 +0200 Subject: [PATCH] Fix duplicate torrent detection when adding a magnet link --- Changelog | 1 + src/misc.h | 6 +----- src/qtlibtorrent/qbtsession.cpp | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Changelog b/Changelog index 1bd332965..b6eb46400 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,6 @@ * Unreleased - Christophe Dumez - v2.9.5 - BUGFIX: Fix crash when disabling then reenabling RSS + - BUGFIX: Fix duplicate torrent detection when adding a magnet link * Sat Feb 18 2012 - Christophe Dumez - v2.9.4 - BUGFIX: qBittorrent does not handle redirection to relative URLs correctly (Closes #919905) diff --git a/src/misc.h b/src/misc.h index 4cce42d8f..f2a6b96e5 100644 --- a/src/misc.h +++ b/src/misc.h @@ -80,10 +80,6 @@ public: return QString(o.str().c_str()); } - static inline libtorrent::sha1_hash toSha1Hash(const QString &hash) { - return libtorrent::sha1_hash(hash.toAscii().constData()); - } - static void chmod644(const QDir& folder); static inline QString removeLastPathPart(QString path) { @@ -95,7 +91,7 @@ public: } static inline libtorrent::sha1_hash QStringToSha1(const QString& s) { - std::string str(s.toLocal8Bit().data()); + std::string str(s.toAscii().data()); std::istringstream i(str); libtorrent::sha1_hash x; i>>x; diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 2c2df9ff9..b3bd5579c 100644 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -900,7 +900,7 @@ QTorrentHandle QBtSession::addMagnetUri(QString magnet_uri, bool resumed) { Q_ASSERT(magnet_uri.startsWith("magnet:", Qt::CaseInsensitive)); // Check for duplicate torrent - if(s->find_torrent(misc::toSha1Hash(hash)).is_valid()) { + if(s->find_torrent(misc::QStringToSha1(hash)).is_valid()) { qDebug("/!\\ Torrent is already in download list"); addConsoleMessage(tr("'%1' is already in download list.", "e.g: 'xxx.avi' is already in download list.").arg(magnet_uri)); return h;