Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/frontend/StarCharCreation.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/source/frontend/StarCharCreation.cpp b/source/frontend/StarCharCreation.cpp
index 7d05712..d873a72 100644
--- a/source/frontend/StarCharCreation.cpp
+++ b/source/frontend/StarCharCreation.cpp
@@ -269,15 +269,19 @@ void CharCreationPane::changed() {
fetchChild<LabelWidget>("labelPortrait")->setText(labels[8]);
fetchChild<LabelWidget>("labelPersonality")->setText(labels[9]);
- fetchChild<ButtonWidget>(strf("species.{}", m_speciesChoice))->check();
- fetchChild<ButtonWidget>(strf("gender.{}", genderIdx))->check();
+ if (auto speciesButton = fetchChild<ButtonWidget>(strf("species.{}", m_speciesChoice)))
+ speciesButton->check();
+ if (auto genderButton = fetchChild<ButtonWidget>(strf("gender.{}", genderIdx)))
+ genderButton->check();
+
auto modeButton = fetchChild<ButtonWidget>(strf("mode.{}", m_modeChoice));
modeButton->check();
setLabel("labelMode", modeButton->data().getString("description", "fail"));
// Update the gender images for the new species
for (size_t i = 0; i < species.genderOptions.size(); i++)
- fetchChild<ButtonWidget>(strf("gender.{}", i))->setOverlayImage(species.genderOptions[i].image);
+ if (auto button = fetchChild<ButtonWidget>(strf("gender.{}", i)))
+ button->setOverlayImage(species.genderOptions[i].image);
for (auto const& nameDefPair : root.speciesDatabase()->allSpecies()) {
String name;
@@ -286,8 +290,7 @@ void CharCreationPane::changed() {
// NOTE: Probably not hot enough to matter, but this contains and indexOf makes this loop
// O(n^2). This is less than ideal.
if (m_speciesList.contains(name)) {
- auto bw = fetchChild<ButtonWidget>(strf("species.{}", m_speciesList.indexOf(name)));
- if (bw)
+ if (auto bw = fetchChild<ButtonWidget>(strf("species.{}", m_speciesList.indexOf(name))))
bw->setOverlayImage(def->options().genderOptions[genderIdx].characterImage);
}
}