diff --git a/macxconf.pri b/macxconf.pri index ef5e7e4f7..96bc47b3a 100644 --- a/macxconf.pri +++ b/macxconf.pri @@ -7,6 +7,8 @@ else { include(conf.pri) } +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14 + LIBS += -framework Carbon -framework IOKit -framework AppKit QT_LANG_PATH = ../dist/qt-translations diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index 9445ccecf..40ce50483 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -2038,14 +2038,14 @@ bool Session::addTorrent(const MagnetUri &magnetUri, const AddTorrentParams &par { if (!magnetUri.isValid()) return false; - return addTorrent_impl(params, magnetUri); + return addTorrent_impl(magnetUri, params); } bool Session::addTorrent(const TorrentInfo &torrentInfo, const AddTorrentParams ¶ms) { if (!torrentInfo.isValid()) return false; - return addTorrent_impl(params, MagnetUri(), torrentInfo); + return addTorrent_impl(torrentInfo, params); } LoadTorrentParams Session::initLoadTorrentParams(const AddTorrentParams &addTorrentParams) @@ -2080,9 +2080,11 @@ LoadTorrentParams Session::initLoadTorrentParams(const AddTorrentParams &addTorr } // Add a torrent to the BitTorrent session -bool Session::addTorrent_impl(const AddTorrentParams &addTorrentParams, const MagnetUri &magnetUri, TorrentInfo metadata) +bool Session::addTorrent_impl(const std::variant &source, const AddTorrentParams &addTorrentParams) { - const bool hasMetadata = metadata.isValid(); + const bool hasMetadata = std::holds_alternative(source); + TorrentInfo metadata = (hasMetadata ? std::get(source) : TorrentInfo {}); + const MagnetUri &magnetUri = (hasMetadata ? MagnetUri {} : std::get(source)); const InfoHash hash = (hasMetadata ? metadata.hash() : magnetUri.hash()); // It looks illogical that we don't just use an existing handle, diff --git a/src/base/bittorrent/session.h b/src/base/bittorrent/session.h index 041d82d80..a5521dba3 100644 --- a/src/base/bittorrent/session.h +++ b/src/base/bittorrent/session.h @@ -30,6 +30,7 @@ #pragma once #include +#include #include #include @@ -600,7 +601,7 @@ namespace BitTorrent bool loadTorrentResumeData(const QByteArray &data, const TorrentInfo &metadata, LoadTorrentParams &torrentParams); bool loadTorrent(LoadTorrentParams params); LoadTorrentParams initLoadTorrentParams(const AddTorrentParams &addTorrentParams); - bool addTorrent_impl(const AddTorrentParams &addTorrentParams, const MagnetUri &magnetUri, TorrentInfo torrentInfo = TorrentInfo()); + bool addTorrent_impl(const std::variant &source, const AddTorrentParams &addTorrentParams); void updateSeedingLimitTimer(); void exportTorrentFile(const TorrentHandle *torrent, TorrentExportFolder folder = TorrentExportFolder::Regular);