From ee5fe424e8a46b7ed1eeff49ec8310ac223fba87 Mon Sep 17 00:00:00 2001 From: "Vladimir Golovnev (Glassez)" Date: Sun, 3 Jan 2021 16:19:04 +0300 Subject: [PATCH 1/2] Use single parameter to accept torrent source --- src/base/bittorrent/session.cpp | 10 ++++++---- src/base/bittorrent/session.h | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index d203a60cd..608dceef7 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -2039,14 +2039,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) @@ -2087,9 +2087,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); From 4d349f5f81c2b71141816fc93d339ea35b71b156 Mon Sep 17 00:00:00 2001 From: "Vladimir Golovnev (Glassez)" Date: Mon, 4 Jan 2021 15:07:23 +0300 Subject: [PATCH 2/2] QMake: Raise minimal macOS target version --- macxconf.pri | 2 ++ 1 file changed, 2 insertions(+) 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