diff --git a/launcher/ui/widgets/MinecraftSettingsWidget.cpp b/launcher/ui/widgets/MinecraftSettingsWidget.cpp index e57233b90..0c005e48e 100644 --- a/launcher/ui/widgets/MinecraftSettingsWidget.cpp +++ b/launcher/ui/widgets/MinecraftSettingsWidget.cpp @@ -224,7 +224,8 @@ void MinecraftSettingsWidget::loadSettings() m_ui->useZink->setChecked(settings->get("UseZink").toBool()); if (m_instance != nullptr) { - m_ui->serverJoinGroupBox->setChecked(settings->get("JoinServerOnLaunch").toBool()); + // HACK: if we change enable state of child widgets while it's unchecked this creates inconsistency + m_ui->serverJoinGroupBox->setChecked(true); if (auto server = settings->get("JoinServerOnLaunchAddress").toString(); !server.isEmpty()) { m_ui->serverJoinAddress->setText(server); @@ -241,10 +242,12 @@ void MinecraftSettingsWidget::loadSettings() } else { m_ui->serverJoinAddressButton->setChecked(true); m_ui->worldJoinButton->setChecked(false); - m_ui->serverJoinAddress->setEnabled(m_ui->serverJoinGroupBox->isChecked()); + m_ui->serverJoinAddress->setEnabled(true); m_ui->worldsCb->setEnabled(false); } + m_ui->serverJoinGroupBox->setChecked(settings->get("JoinServerOnLaunch").toBool()); + m_ui->instanceAccountGroupBox->setChecked(settings->get("UseAccountForInstance").toBool()); updateAccountsMenu(*settings);