summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/windows/charselectdialog.cpp29
-rw-r--r--src/gui/windows/charselectdialog.h2
2 files changed, 16 insertions, 15 deletions
diff --git a/src/gui/windows/charselectdialog.cpp b/src/gui/windows/charselectdialog.cpp
index 2d45e47ca..3c355c199 100644
--- a/src/gui/windows/charselectdialog.cpp
+++ b/src/gui/windows/charselectdialog.cpp
@@ -463,24 +463,23 @@ void CharSelectDialog::setCharacters(const Net::Characters &characters)
}
FOR_EACH (Net::Characters::const_iterator, i, characters)
- {
- if (!*i)
- continue;
-
- Net::Character *const character = *i;
-
- const int characterSlot = character->slot;
- if (characterSlot >= static_cast<int>(mCharacterEntries.size()))
- {
- logger->log("Warning: slot out of range: %d", character->slot);
- continue;
- }
+ setCharacter(*i);
+ updateState();
+}
- if (mCharacterEntries[characterSlot])
- mCharacterEntries[characterSlot]->setCharacter(character);
+void CharSelectDialog::setCharacter(Net::Character *const character)
+{
+ if (!character)
+ return;
+ const int characterSlot = character->slot;
+ if (characterSlot >= static_cast<int>(mCharacterEntries.size()))
+ {
+ logger->log("Warning: slot out of range: %d", character->slot);
+ return;
}
- updateState();
+ if (mCharacterEntries[characterSlot])
+ mCharacterEntries[characterSlot]->setCharacter(character);
}
void CharSelectDialog::lock()
diff --git a/src/gui/windows/charselectdialog.h b/src/gui/windows/charselectdialog.h
index cf44f30b9..a6acd9c32 100644
--- a/src/gui/windows/charselectdialog.h
+++ b/src/gui/windows/charselectdialog.h
@@ -98,6 +98,8 @@ class CharSelectDialog final : public Window,
void setCharacters(const Net::Characters &characters);
+ void setCharacter(Net::Character *const character);
+
void use(const int selected);
void lock();