From e650224c9e8827f24c98f7d1bb2483aa5e34a0e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Ker=C3=A4nen?= Date: Thu, 12 Sep 2019 14:56:34 +0300 Subject: [PATCH] Shell: Config variable type issue "Config.LocalServer.gameMode" is expected to be an integer (index in the list of known games). --- doomsday/tools/shell/src/localserverdialog.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doomsday/tools/shell/src/localserverdialog.cpp b/doomsday/tools/shell/src/localserverdialog.cpp index 5ee904b810..54baeee9bd 100644 --- a/doomsday/tools/shell/src/localserverdialog.cpp +++ b/doomsday/tools/shell/src/localserverdialog.cpp @@ -71,8 +71,12 @@ DE_GUI_PIMPL(LocalServerDialog) { games->items() << new ChoiceItem(mode.title, TextValue(mode.option)); } - games->setSelected( - games->items().findData(TextValue(cfg.gets("LocalServer.gameMode", "doom1-share")))); + /*auto sel = games->items().findData(TextValue(cfg.gets("LocalServer.gameMode", "doom1-share"))); + if (sel == ui::Data::InvalidPos) + { + sel = games->items().findData(TextValue("doom1-share")); + }*/ + games->setSelected(cfg.getui("LocalServer.gameMode", 0)); layout << *LabelWidget::newWithText("Game Mode:", &area) << *games; @@ -269,7 +273,7 @@ void LocalServerDialog::saveState() auto &cfg = Config::get(); cfg.set("LocalServer.name", d->name->text()); - cfg.set("LocalServer.gameMode", d->games->selectedItem().data().asText()); + cfg.set("LocalServer.gameMode", int(d->games->selected())); //Item().data().asText()); if (d->portChanged) { cfg.set("LocalServer.port", d->port->text().toInt());