mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-03-09 20:01:08 +00:00
Fix qBtSession important initialization problem
Fix qBittorrent shutdown problem (closes #682576)
This commit is contained in:
parent
cc1b812232
commit
5d86930c80
@ -146,7 +146,7 @@ QBtSession::QBtSession()
|
||||
#endif
|
||||
connect(m_scanFolders, SIGNAL(torrentsAdded(QStringList&)), this, SLOT(addTorrentsFromScanFolder(QStringList&)));
|
||||
// Apply user settings to Bittorrent session
|
||||
QTimer::singleShot(0, this, SLOT(configureSession()));
|
||||
configureSession();
|
||||
qDebug("* BTSession constructed");
|
||||
}
|
||||
|
||||
@ -499,14 +499,8 @@ void QBtSession::configureSession() {
|
||||
disableIPFilter();
|
||||
}
|
||||
// Update Web UI
|
||||
if (pref.isWebUiEnabled()) {
|
||||
const quint16 port = pref.getWebUiPort();
|
||||
const QString username = pref.getWebUiUsername();
|
||||
const QString password = pref.getWebUiPassword();
|
||||
initWebUi(username, password, port);
|
||||
} else if(httpServer) {
|
||||
delete httpServer;
|
||||
}
|
||||
// Use a QTimer because the function can be called from qBtSession constructor
|
||||
QTimer::singleShot(0, this, SLOT(initWebUi()));
|
||||
// * Proxy settings
|
||||
proxy_settings proxySettings;
|
||||
if(pref.isProxyEnabled()) {
|
||||
@ -563,24 +557,31 @@ void QBtSession::configureSession() {
|
||||
qDebug("Session configured");
|
||||
}
|
||||
|
||||
bool QBtSession::initWebUi(QString username, QString password, int port) {
|
||||
if(httpServer) {
|
||||
if(httpServer->serverPort() != port) {
|
||||
httpServer->close();
|
||||
void QBtSession::initWebUi() {
|
||||
Preferences pref;
|
||||
if (pref.isWebUiEnabled()) {
|
||||
const quint16 port = pref.getWebUiPort();
|
||||
const QString username = pref.getWebUiUsername();
|
||||
const QString password = pref.getWebUiPassword();
|
||||
|
||||
if(httpServer) {
|
||||
if(httpServer->serverPort() != port) {
|
||||
httpServer->close();
|
||||
}
|
||||
} else {
|
||||
httpServer = new HttpServer(3000, this);
|
||||
}
|
||||
} else {
|
||||
httpServer = new HttpServer(3000, this);
|
||||
httpServer->setAuthorization(username, password);
|
||||
if(!httpServer->isListening()) {
|
||||
bool success = httpServer->listen(QHostAddress::Any, port);
|
||||
if (success)
|
||||
addConsoleMessage(tr("The Web UI is listening on port %1").arg(port));
|
||||
else
|
||||
addConsoleMessage(tr("Web User Interface Error - Unable to bind Web UI to port %1").arg(port), "red");
|
||||
}
|
||||
} else if(httpServer) {
|
||||
delete httpServer;
|
||||
}
|
||||
httpServer->setAuthorization(username, password);
|
||||
bool success = true;
|
||||
if(!httpServer->isListening()) {
|
||||
success = httpServer->listen(QHostAddress::Any, port);
|
||||
if (success)
|
||||
addConsoleMessage(tr("The Web UI is listening on port %1").arg(port));
|
||||
else
|
||||
addConsoleMessage(tr("Web User Interface Error - Unable to bind Web UI to port %1").arg(port), "red");
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
void QBtSession::useAlternativeSpeedsLimit(bool alternative) {
|
||||
|
@ -163,7 +163,6 @@ public slots:
|
||||
|
||||
protected:
|
||||
QString getSavePath(QString hash, bool fromScanDir = false, QString filePath = QString::null, QString root_folder=QString::null);
|
||||
bool initWebUi(QString username, QString password, int port);
|
||||
bool loadFastResumeData(QString hash, std::vector<char> &buf);
|
||||
void loadTorrentSettings(QTorrentHandle h);
|
||||
void loadTorrentTempData(QTorrentHandle h, QString savePath, bool magnet);
|
||||
@ -181,6 +180,7 @@ protected slots:
|
||||
void cleanUpAutoRunProcess(int);
|
||||
void mergeTorrents(QTorrentHandle h_ex, boost::intrusive_ptr<libtorrent::torrent_info> t);
|
||||
void exportTorrentFile(QTorrentHandle h);
|
||||
void initWebUi();
|
||||
|
||||
signals:
|
||||
void addedTorrent(const QTorrentHandle& h);
|
||||
|
@ -1,7 +1,7 @@
|
||||
os2 {
|
||||
DEFINES += VERSION=\'\"v2.5.0rc3\"\'
|
||||
DEFINES += VERSION=\'\"v2.5.0rc4\"\'
|
||||
} else {
|
||||
DEFINES += VERSION=\\\"v2.5.0rc3\\\"
|
||||
DEFINES += VERSION=\\\"v2.5.0rc4\\\"
|
||||
}
|
||||
DEFINES += VERSION_MAJOR=2
|
||||
DEFINES += VERSION_MINOR=5
|
||||
|
Loading…
x
Reference in New Issue
Block a user