diff --git a/code/ryzom/common/src/game_share/http_client.cpp b/code/ryzom/common/src/game_share/http_client.cpp index 3e100c762..b21519014 100644 --- a/code/ryzom/common/src/game_share/http_client.cpp +++ b/code/ryzom/common/src/game_share/http_client.cpp @@ -124,6 +124,7 @@ bool CHttpClient::sendRequest(const std::string& methodWB, const std::string &ur std::string request; request += methodWB + " " + path + " HTTP/1.1\r\n"; request += "Host: " + host + "\r\n"; + request += "Connection: close\r\n"; // Send if (cookieName.empty() && postParams.empty()) diff --git a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp index e7d883314..1aa5bad04 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/configfile.cpp @@ -82,10 +82,13 @@ bool CConfigFile::load(const QString &filename) server.clientDownloadFilename = settings.value("client_download_filename").toString(); #if defined(Q_OS_WIN) server.clientFilename = settings.value("client_filename_windows").toString(); + server.configurationFilename = settings.value("configuration_filename_windows").toString(); #elif defined(Q_OS_MAC) server.clientFilename = settings.value("client_filename_osx").toString(); + server.configurationFilename = settings.value("configuration_filename_osx").toString(); #else server.clientFilename = settings.value("client_filename_linux").toString(); + server.configurationFilename = settings.value("configuration_filename_linux").toString(); #endif server.comments = settings.value("comments").toString(); @@ -154,10 +157,13 @@ bool CConfigFile::save() const settings.setValue("client_download_filename", server.clientDownloadFilename); #if defined(Q_OS_WIN) settings.setValue("client_filename_windows", server.clientFilename); + settings.setValue("configuration_filename_windows", server.configurationFilename); #elif defined(Q_OS_MAC) settings.setValue("client_filename_osx", server.clientFilename); + settings.setValue("configuration_filename_osx", server.configurationFilename); #else settings.setValue("client_filename_linux", server.clientFilename); + settings.setValue("configuration_filename_linux", server.configurationFilename); #endif settings.setValue("comments", server.comments); @@ -342,7 +348,7 @@ QString CConfigFile::getClientArch() const #if defined(Q_OS_WIN) return QString("win%1").arg(m_use64BitsClient ? 64:32); #elif defined(Q_OS_MAC) - // only 64 bits clients under OS X, becure there not any 32 bits OS X version anymore + // only 64 bits clients under OS X, because there not any 32 bits OS X version anymore return "osx"; #else return QString("linux%1").arg(m_use64BitsClient ? 64:32); diff --git a/code/ryzom/tools/client/ryzom_installer/src/configfile.h b/code/ryzom/tools/client/ryzom_installer/src/configfile.h index 8909e39e6..9fcced465 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/configfile.h +++ b/code/ryzom/tools/client/ryzom_installer/src/configfile.h @@ -35,6 +35,7 @@ struct CServer QString clientDownloadUrl; QString clientDownloadFilename; QString clientFilename; + QString configurationFilename; QString comments; }; diff --git a/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp b/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp index 0ead4615e..c98734406 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/mainwindow.cpp @@ -98,6 +98,25 @@ void CMainWindow::onPlayClicked() void CMainWindow::onConfigureClicked() { + int profileIndex = profilesComboBox->currentIndex(); + + if (profileIndex < 0) return; + + CProfile profile = CConfigFile::getInstance()->getProfile(profileIndex); + + if (profile.server.isEmpty()) return; + + CServer server = CConfigFile::getInstance()->getServer(profile.server); + + if (server.configurationFilename.isEmpty()) return; + + QStringList arguments; + arguments << "-p"; + arguments << QString::number(profileIndex); + + bool started = QProcess::startDetached(server.configurationFilename, arguments); + + CConfigFile::getInstance()->setDefaultProfileIndex(profileIndex); } void CMainWindow::onProfiles()