Added NagUtils, nag people about trying to override JVM memory options
This commit is contained in:
parent
09dc356883
commit
bade253a1a
@ -322,6 +322,8 @@ logic/tasks/Task.cpp
|
|||||||
# Utilities
|
# Utilities
|
||||||
logic/JavaUtils.h
|
logic/JavaUtils.h
|
||||||
logic/JavaUtils.cpp
|
logic/JavaUtils.cpp
|
||||||
|
logic/NagUtils.h
|
||||||
|
logic/NagUtils.cpp
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@
|
|||||||
#include "logic/OneSixAssets.h"
|
#include "logic/OneSixAssets.h"
|
||||||
#include "logic/OneSixUpdate.h"
|
#include "logic/OneSixUpdate.h"
|
||||||
#include "logic/JavaUtils.h"
|
#include "logic/JavaUtils.h"
|
||||||
|
#include "logic/NagUtils.h"
|
||||||
|
|
||||||
#include "logic/LegacyInstance.h"
|
#include "logic/LegacyInstance.h"
|
||||||
|
|
||||||
@ -471,9 +472,12 @@ void MainWindow::instanceActivated(QModelIndex index)
|
|||||||
{
|
{
|
||||||
if (!index.isValid())
|
if (!index.isValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BaseInstance *inst =
|
BaseInstance *inst =
|
||||||
(BaseInstance *)index.data(InstanceList::InstancePointerRole).value<void *>();
|
(BaseInstance *)index.data(InstanceList::InstancePointerRole).value<void *>();
|
||||||
|
|
||||||
|
NagUtils::checkJVMArgs(MMC->settings()->get("JvmArgs").toString(), this);
|
||||||
|
|
||||||
bool autoLogin = MMC->settings()->get("AutoLogin").toBool();
|
bool autoLogin = MMC->settings()->get("AutoLogin").toBool();
|
||||||
if (autoLogin)
|
if (autoLogin)
|
||||||
doAutoLogin();
|
doAutoLogin();
|
||||||
@ -485,6 +489,7 @@ void MainWindow::on_actionLaunchInstance_triggered()
|
|||||||
{
|
{
|
||||||
if (m_selectedInstance)
|
if (m_selectedInstance)
|
||||||
{
|
{
|
||||||
|
NagUtils::checkJVMArgs(MMC->settings()->get("JvmArgs").toString(), this);
|
||||||
doLogin();
|
doLogin();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#include "settingsdialog.h"
|
#include "settingsdialog.h"
|
||||||
#include "ui_settingsdialog.h"
|
#include "ui_settingsdialog.h"
|
||||||
#include "logic/JavaUtils.h"
|
#include "logic/JavaUtils.h"
|
||||||
|
#include "logic/NagUtils.h"
|
||||||
#include "gui/versionselectdialog.h"
|
#include "gui/versionselectdialog.h"
|
||||||
#include "gui/platform.h"
|
#include "gui/platform.h"
|
||||||
#include "gui/CustomMessageBox.h"
|
#include "gui/CustomMessageBox.h"
|
||||||
@ -159,6 +160,7 @@ void SettingsDialog::applySettings(SettingsObject *s)
|
|||||||
// Java Settings
|
// Java Settings
|
||||||
s->set("JavaPath", ui->javaPathTextBox->text());
|
s->set("JavaPath", ui->javaPathTextBox->text());
|
||||||
s->set("JvmArgs", ui->jvmArgsTextBox->text());
|
s->set("JvmArgs", ui->jvmArgsTextBox->text());
|
||||||
|
NagUtils::checkJVMArgs(s->get("JvmArgs").toString(), this->parentWidget());
|
||||||
|
|
||||||
// Custom Commands
|
// Custom Commands
|
||||||
s->set("PreLaunchCommand", ui->preLaunchCmdTextBox->text());
|
s->set("PreLaunchCommand", ui->preLaunchCmdTextBox->text());
|
||||||
|
37
logic/NagUtils.cpp
Normal file
37
logic/NagUtils.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "NagUtils.h"
|
||||||
|
#include "gui/CustomMessageBox.h"
|
||||||
|
|
||||||
|
namespace NagUtils
|
||||||
|
{
|
||||||
|
void checkJVMArgs(QString jvmargs, QWidget *parent)
|
||||||
|
{
|
||||||
|
if(jvmargs.contains("-XX:PermSize=") || jvmargs.contains(QRegExp("-Xm[sx]")))
|
||||||
|
{
|
||||||
|
CustomMessageBox::selectable(parent, parent->tr("JVM arguments warning"),
|
||||||
|
parent->tr("You tried to manually set a JVM memory option (using "
|
||||||
|
" \"-XX:PermSize\", \"-Xmx\" or \"-Xms\") - there"
|
||||||
|
" are dedicated boxes for these in the settings (Java"
|
||||||
|
" tab, in the Memory group at the top).\n"
|
||||||
|
"Your manual settings will be overridden by the"
|
||||||
|
" dedicated options.\n"
|
||||||
|
"This message will be displayed until you remove them"
|
||||||
|
" from the JVM arguments."),
|
||||||
|
QMessageBox::Warning)->exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
23
logic/NagUtils.h
Normal file
23
logic/NagUtils.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
namespace NagUtils
|
||||||
|
{
|
||||||
|
void checkJVMArgs(QString args, QWidget *parent);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user