Browse Source

Fix possible crash when using alternative speed limits

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
621ec11ae3
  1. 16
      src/bittorrent.cpp
  2. 10
      src/preferences.h

16
src/bittorrent.cpp

@ -653,8 +653,20 @@ void Bittorrent::useAlternativeSpeedsLimit(bool alternative) {
s->set_download_rate_limit(Preferences::getAltGlobalDownloadLimit()*1024); s->set_download_rate_limit(Preferences::getAltGlobalDownloadLimit()*1024);
s->set_upload_rate_limit(Preferences::getAltGlobalUploadLimit()*1024); s->set_upload_rate_limit(Preferences::getAltGlobalUploadLimit()*1024);
} else { } else {
s->set_download_rate_limit(Preferences::getGlobalDownloadLimit()*1024); int down_limit = Preferences::getGlobalDownloadLimit();
s->set_upload_rate_limit(Preferences::getGlobalUploadLimit()*1024); 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); emit alternativeSpeedsModeChanged(alternative);
} }

10
src/preferences.h

@ -331,7 +331,10 @@ public:
static int getAltGlobalDownloadLimit() { static int getAltGlobalDownloadLimit() {
QSettings settings("qBittorrent", "qBittorrent"); 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) { static void setAltGlobalDownloadLimit(int limit) {
@ -342,7 +345,10 @@ public:
static int getAltGlobalUploadLimit() { static int getAltGlobalUploadLimit() {
QSettings settings("qBittorrent", "qBittorrent"); 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) { static void setAltGlobalUploadLimit(int limit) {

Loading…
Cancel
Save