diff --git a/Changelog b/Changelog index 7d44b14bb..b20e5f835 100644 --- a/Changelog +++ b/Changelog @@ -3,6 +3,7 @@ - BUGFIX: Fix "Temp path" button in program preferences - BUGFIX: Handle paths with [~, ., ..] properly - BUGFIX: Trackers are now displayed for torrents without metadata + - BUGFIX: Fix issue with speed limiting (value should be -1 not 0) * Fri Dec 18 2009 - Christophe Dumez - v2.0.2 - BUGFIX: Fix .qbittorrent folder not being created (critical bug introduced in v2.0.1 that makes qBittorrent unusuable for new users) diff --git a/src/speedlimitdlg.h b/src/speedlimitdlg.h index a6a18dd9c..f988f5a68 100644 --- a/src/speedlimitdlg.h +++ b/src/speedlimitdlg.h @@ -62,7 +62,10 @@ class SpeedLimitDialog : public QDialog, private Ui_bandwidth_dlg { dlg.setDefaultValue(default_value/1024.); if(dlg.exec() == QDialog::Accepted) { *ok = true; - return dlg.getSpeedLimit()*1024; + int val = dlg.getSpeedLimit(); + if(val <= 0) + return -1; + return val*1024; } else { *ok = false; return -2; diff --git a/src/statusbar.h b/src/statusbar.h index 04b91b6e0..459ed51e1 100644 --- a/src/statusbar.h +++ b/src/statusbar.h @@ -168,12 +168,15 @@ public slots: bool ok = false; long new_limit = SpeedLimitDialog::askSpeedLimit(&ok, tr("Global Download Speed Limit"), BTSession->getSession()->download_rate_limit()); if(ok) { - qDebug("Setting global download rate limit to %.1fKb/s", new_limit/1024.); - BTSession->getSession()->set_download_rate_limit(new_limit); - if(new_limit <= 0) + if(new_limit <= 0) { + qDebug("Setting global download rate limit to Unlimited"); + BTSession->getSession()->set_download_rate_limit(-1); Preferences::setGlobalDownloadLimit(-1); - else + } else { + qDebug("Setting global download rate limit to %.1fKb/s", new_limit/1024.); + BTSession->getSession()->set_download_rate_limit(new_limit); Preferences::setGlobalDownloadLimit(new_limit/1024.); + } } } @@ -181,13 +184,16 @@ public slots: bool ok = false; long new_limit = SpeedLimitDialog::askSpeedLimit(&ok, tr("Global Upload Speed Limit"), BTSession->getSession()->upload_rate_limit()); if(ok) { - qDebug("Setting global upload rate limit to %.1fKb/s", new_limit/1024.); - BTSession->getSession()->set_upload_rate_limit(new_limit); - if(new_limit <= 0) + if(new_limit <= 0) { + qDebug("Setting global upload rate limit to Unlimited"); + BTSession->getSession()->set_upload_rate_limit(-1); Preferences::setGlobalUploadLimit(-1); - else + } else { + qDebug("Setting global upload rate limit to %.1fKb/s", new_limit/1024.); + BTSession->getSession()->set_upload_rate_limit(new_limit); Preferences::setGlobalUploadLimit(new_limit/1024.); - } + } + } } };