diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index 4648d27aa..592ee76d9 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -653,8 +653,20 @@ void Bittorrent::useAlternativeSpeedsLimit(bool alternative) { s->set_download_rate_limit(Preferences::getAltGlobalDownloadLimit()*1024); s->set_upload_rate_limit(Preferences::getAltGlobalUploadLimit()*1024); } else { - s->set_download_rate_limit(Preferences::getGlobalDownloadLimit()*1024); - s->set_upload_rate_limit(Preferences::getGlobalUploadLimit()*1024); + int down_limit = Preferences::getGlobalDownloadLimit(); + if(down_limit <= 0) { + down_limit = -1; + } else { + down_limit *= 1024; + } + s->set_download_rate_limit(down_limit); + int up_limit = Preferences::getGlobalUploadLimit(); + if(up_limit <= 0) { + up_limit = -1; + } else { + up_limit *= 1024; + } + s->set_upload_rate_limit(up_limit); } emit alternativeSpeedsModeChanged(alternative); } diff --git a/src/preferences.h b/src/preferences.h index 735f166f5..1cae975b7 100644 --- a/src/preferences.h +++ b/src/preferences.h @@ -331,7 +331,10 @@ public: static int getAltGlobalDownloadLimit() { QSettings settings("qBittorrent", "qBittorrent"); - return settings.value(QString::fromUtf8("Preferences/Connection/GlobalDLLimitAlt"), 10).toInt(); + int ret = settings.value(QString::fromUtf8("Preferences/Connection/GlobalDLLimitAlt"), 10).toInt(); + if(ret <= 0) + ret = 10; + return ret; } static void setAltGlobalDownloadLimit(int limit) { @@ -342,7 +345,10 @@ public: static int getAltGlobalUploadLimit() { QSettings settings("qBittorrent", "qBittorrent"); - return settings.value(QString::fromUtf8("Preferences/Connection/GlobalUPLimitAlt"), 10).toInt(); + int ret = settings.value(QString::fromUtf8("Preferences/Connection/GlobalUPLimitAlt"), 10).toInt(); + if(ret <= 0) + ret = 10; + return ret; } static void setAltGlobalUploadLimit(int limit) {