From f39a83edc6b1de3f99eaf2c1cfc409f50a1df1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Thu, 31 Oct 2013 01:39:37 +0100 Subject: [PATCH 1/2] Hack for Intel graphics drivers on Windows. --- logic/LegacyInstance.cpp | 9 +++++++++ logic/OneSixInstance.cpp | 13 +++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/logic/LegacyInstance.cpp b/logic/LegacyInstance.cpp index f741caad..2fd18693 100644 --- a/logic/LegacyInstance.cpp +++ b/logic/LegacyInstance.cpp @@ -74,6 +74,15 @@ MinecraftProcess *LegacyInstance::prepareForLaunch(LoginResponse response) args << QString("-Xms%1m").arg(settings().get("MinMemAlloc").toInt()); args << QString("-Xmx%1m").arg(settings().get("MaxMemAlloc").toInt()); args << QString("-XX:PermSize=%1m").arg(settings().get("PermGen").toInt()); +/** +* HACK: Stupid hack for Intel drivers. +* See: https://mojang.atlassian.net/browse/MCL-767 +*/ +#ifdef Q_OS_WIN32 + args << QString("-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_" + "minecraft.exe.heapdump"); +#endif + args << "-jar" << LAUNCHER_FILE; args << response.player_name; args << response.session_id; diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp index d80f6b37..7539d8e5 100644 --- a/logic/OneSixInstance.cpp +++ b/logic/OneSixInstance.cpp @@ -119,6 +119,16 @@ MinecraftProcess *OneSixInstance::prepareForLaunch(LoginResponse response) args << QString("-Xms%1m").arg(settings().get("MinMemAlloc").toInt()); args << QString("-Xmx%1m").arg(settings().get("MaxMemAlloc").toInt()); args << QString("-XX:PermSize=%1m").arg(settings().get("PermGen").toInt()); + +/** + * HACK: Stupid hack for Intel drivers. + * See: https://mojang.atlassian.net/browse/MCL-767 + */ +#ifdef Q_OS_WIN32 + args << QString("-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_" + "minecraft.exe.heapdump"); +#endif + QDir natives_dir(natives_dir_raw); args << QString("-Djava.library.path=%1").arg(natives_dir.absolutePath()); QString classPath; @@ -148,7 +158,7 @@ MinecraftProcess *OneSixInstance::prepareForLaunch(LoginResponse response) // Set the width and height for 1.6 instances bool maximize = settings().get("LaunchMaximized").toBool(); - if(maximize) + if (maximize) { // this is probably a BAD idea // args << QString("--fullscreen"); @@ -342,4 +352,3 @@ QString OneSixInstance::instanceConfigFolder() const { return PathCombine(minecraftRoot(), "config"); } - From 8cd6604e40ae5d250f6826d0c7a1985e719ec66c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Thu, 31 Oct 2013 09:03:18 +0100 Subject: [PATCH 2/2] List available proxies on start --- MultiMC.cpp | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/MultiMC.cpp b/MultiMC.cpp index e425aa44..d13d1443 100644 --- a/MultiMC.cpp +++ b/MultiMC.cpp @@ -152,6 +152,46 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplication(argc, argv) // set up a basic autodetected proxy (system default) QNetworkProxyFactory::setUseSystemConfiguration(true); + QLOG_INFO() << "Detecting system proxy settings..."; + auto proxies = QNetworkProxyFactory::systemProxyForQuery(); + if (proxies.size() == 1 && proxies[0].type() == QNetworkProxy::NoProxy) + { + QLOG_INFO() << "No proxy found."; + } + else for (auto proxy : proxies) + { + QString proxyDesc; + if (proxy.type() == QNetworkProxy::NoProxy) + { + QLOG_INFO() << "Using no proxy is an option!"; + continue; + } + switch (proxy.type()) + { + case QNetworkProxy::DefaultProxy: + proxyDesc = "Default proxy: "; + break; + case QNetworkProxy::Socks5Proxy: + proxyDesc = "Socks5 proxy: "; + break; + case QNetworkProxy::HttpProxy: + proxyDesc = "HTTP proxy: "; + break; + case QNetworkProxy::HttpCachingProxy: + proxyDesc = "HTTP caching: "; + break; + case QNetworkProxy::FtpCachingProxy: + proxyDesc = "FTP caching: "; + break; + } + proxyDesc += QString("%3@%1:%2 pass %4") + .arg(proxy.hostName()) + .arg(proxy.port()) + .arg(proxy.user()) + .arg(proxy.password()); + QLOG_INFO() << proxyDesc; + } + // create the global network manager m_qnam.reset(new QNetworkAccessManager(this)); @@ -354,7 +394,7 @@ std::shared_ptr MultiMC::javalist() return m_javalist; } -int main_gui(MultiMC & app) +int main_gui(MultiMC &app) { // show main window MainWindow mainWin;