From af52a18f829ba7415802ccaab234c4e78cfde9a9 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Wed, 20 Nov 2019 12:20:17 +0800 Subject: [PATCH] Avoid session reconfiguration when limit has not changed Fix up 5d46c9b2d6e476d8dd1eee770bf65a8366e80fe7. --- src/base/bittorrent/session.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index 56e1bc439..f306da2a2 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -2507,6 +2507,9 @@ void Session::setGlobalDownloadSpeedLimit(const int limit) { // Unfortunately the value was saved as KiB instead of B. // But it is better to pass it around internally(+ webui) as Bytes. + if (limit == globalDownloadSpeedLimit()) + return; + if (limit <= 0) m_globalDownloadSpeedLimit = 0; else if (limit <= 1024) @@ -2529,6 +2532,9 @@ void Session::setGlobalUploadSpeedLimit(const int limit) { // Unfortunately the value was saved as KiB instead of B. // But it is better to pass it around internally(+ webui) as Bytes. + if (limit == globalUploadSpeedLimit()) + return; + if (limit <= 0) m_globalUploadSpeedLimit = 0; else if (limit <= 1024) @@ -2551,6 +2557,9 @@ void Session::setAltGlobalDownloadSpeedLimit(const int limit) { // Unfortunately the value was saved as KiB instead of B. // But it is better to pass it around internally(+ webui) as Bytes. + if (limit == altGlobalDownloadSpeedLimit()) + return; + if (limit <= 0) m_altGlobalDownloadSpeedLimit = 0; else if (limit <= 1024) @@ -2573,6 +2582,9 @@ void Session::setAltGlobalUploadSpeedLimit(const int limit) { // Unfortunately the value was saved as KiB instead of B. // But it is better to pass it around internally(+ webui) as Bytes. + if (limit == altGlobalUploadSpeedLimit()) + return; + if (limit <= 0) m_altGlobalUploadSpeedLimit = 0; else if (limit <= 1024)