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
|
||||
logic/JavaUtils.h
|
||||
logic/JavaUtils.cpp
|
||||
logic/NagUtils.h
|
||||
logic/NagUtils.cpp
|
||||
|
||||
)
|
||||
|
||||
|
@ -66,6 +66,7 @@
|
||||
#include "logic/OneSixAssets.h"
|
||||
#include "logic/OneSixUpdate.h"
|
||||
#include "logic/JavaUtils.h"
|
||||
#include "logic/NagUtils.h"
|
||||
|
||||
#include "logic/LegacyInstance.h"
|
||||
|
||||
@ -471,9 +472,12 @@ void MainWindow::instanceActivated(QModelIndex index)
|
||||
{
|
||||
if (!index.isValid())
|
||||
return;
|
||||
|
||||
BaseInstance *inst =
|
||||
(BaseInstance *)index.data(InstanceList::InstancePointerRole).value<void *>();
|
||||
|
||||
NagUtils::checkJVMArgs(MMC->settings()->get("JvmArgs").toString(), this);
|
||||
|
||||
bool autoLogin = MMC->settings()->get("AutoLogin").toBool();
|
||||
if (autoLogin)
|
||||
doAutoLogin();
|
||||
@ -485,6 +489,7 @@ void MainWindow::on_actionLaunchInstance_triggered()
|
||||
{
|
||||
if (m_selectedInstance)
|
||||
{
|
||||
NagUtils::checkJVMArgs(MMC->settings()->get("JvmArgs").toString(), this);
|
||||
doLogin();
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "settingsdialog.h"
|
||||
#include "ui_settingsdialog.h"
|
||||
#include "logic/JavaUtils.h"
|
||||
#include "logic/NagUtils.h"
|
||||
#include "gui/versionselectdialog.h"
|
||||
#include "gui/platform.h"
|
||||
#include "gui/CustomMessageBox.h"
|
||||
@ -159,6 +160,7 @@ void SettingsDialog::applySettings(SettingsObject *s)
|
||||
// Java Settings
|
||||
s->set("JavaPath", ui->javaPathTextBox->text());
|
||||
s->set("JvmArgs", ui->jvmArgsTextBox->text());
|
||||
NagUtils::checkJVMArgs(s->get("JvmArgs").toString(), this->parentWidget());
|
||||
|
||||
// Custom Commands
|
||||
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