diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client.cpp | 1 | ||||
-rw-r--r-- | src/gui/widgets/window.h | 4 | ||||
-rw-r--r-- | src/gui/windows/charselectdialog.cpp | 8 | ||||
-rw-r--r-- | src/gui/windows/charselectdialog.h | 2 |
4 files changed, 13 insertions, 2 deletions
diff --git a/src/client.cpp b/src/client.cpp index 290299f58..824d07e5a 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1450,6 +1450,7 @@ int Client::gameExec() Theme::instance()->setMinimumOpacity(0.8F); mCurrentDialog = new CharSelectDialog(&loginData); + mCurrentDialog->postInit(); if (!(static_cast<CharSelectDialog*>(mCurrentDialog)) ->selectByName(mOptions.character, diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h index 79d7053b0..ebc44e584 100644 --- a/src/gui/widgets/window.h +++ b/src/gui/widgets/window.h @@ -236,6 +236,10 @@ class Window : public gcn::Window, void setSaveVisible(const bool save) { mSaveVisible = save; } + virtual void postInit() + { + } + /** * Returns the parent window. * diff --git a/src/gui/windows/charselectdialog.cpp b/src/gui/windows/charselectdialog.cpp index 1c960b11c..d99b973b3 100644 --- a/src/gui/windows/charselectdialog.cpp +++ b/src/gui/windows/charselectdialog.cpp @@ -188,8 +188,6 @@ CharSelectDialog::CharSelectDialog(LoginData *const data): } addKeyListener(this); center(); - setVisible(true); - requestFocus(); Net::getCharServerHandler()->setCharSelectDialog(this); mCharacterView->show(0); @@ -201,6 +199,12 @@ CharSelectDialog::~CharSelectDialog() Net::getCharServerHandler()->clear(); } +void CharSelectDialog::postInit() +{ + setVisible(true); + requestFocus(); +} + void CharSelectDialog::action(const gcn::ActionEvent &event) { // Check if a button of a character was pressed diff --git a/src/gui/windows/charselectdialog.h b/src/gui/windows/charselectdialog.h index 705cb831c..1a4eeb4ac 100644 --- a/src/gui/windows/charselectdialog.h +++ b/src/gui/windows/charselectdialog.h @@ -90,6 +90,8 @@ class CharSelectDialog final : public Window, void updateState(); + void postInit(); + private: void attemptCharacterDelete(const int index); |