From 1648b34aedb5988c2ffb9076d031b7ff84c83ce9 Mon Sep 17 00:00:00 2001 From: janrupf Date: Fri, 9 Nov 2018 21:45:55 +0100 Subject: [PATCH] GH-1552 Hide PermGen when using an autodetected java version greater than 8 --- .../pages/instance/InstanceSettingsPage.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/application/pages/instance/InstanceSettingsPage.cpp b/application/pages/instance/InstanceSettingsPage.cpp index 0704ffc5..61911f67 100644 --- a/application/pages/instance/InstanceSettingsPage.cpp +++ b/application/pages/instance/InstanceSettingsPage.cpp @@ -176,6 +176,11 @@ void InstanceSettingsPage::loadSettings() ui->maxMemSpinBox->setValue(min); } ui->permGenSpinBox->setValue(m_settings->get("PermGen").toInt()); + bool permGenVisible = m_settings->get("PermGenVisible").toBool(); + ui->permGenSpinBox->setVisible(permGenVisible); + ui->labelPermGen->setVisible(permGenVisible); + ui->labelPermgenNote->setVisible(permGenVisible); + // Java Settings bool overrideJava = m_settings->get("OverrideJava").toBool(); @@ -210,6 +215,11 @@ void InstanceSettingsPage::on_javaDetectBtn_clicked() { java = std::dynamic_pointer_cast(vselect.selectedVersion()); ui->javaPathTextBox->setText(java->path); + bool visible = java->id.requiresPermGen() && m_settings->get("OverrideMemory").toBool(); + ui->permGenSpinBox->setVisible(visible); + ui->labelPermGen->setVisible(visible); + ui->labelPermgenNote->setVisible(visible); + m_settings->set("PermGenVisible", visible); } } @@ -224,12 +234,18 @@ void InstanceSettingsPage::on_javaBrowseBtn_clicked() } QString cooked_path = FS::NormalizePath(raw_path); - QFileInfo javaInfo(cooked_path);; + QFileInfo javaInfo(cooked_path); if(!javaInfo.exists() || !javaInfo.isExecutable()) { return; } ui->javaPathTextBox->setText(cooked_path); + + // custom Java could be anything... enable perm gen option + ui->permGenSpinBox->setVisible(true); + ui->labelPermGen->setVisible(true); + ui->labelPermgenNote->setVisible(true); + m_settings->set("PermGenVisible", true); } void InstanceSettingsPage::on_javaTestBtn_clicked()