diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-01-14 22:57:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-01-14 22:57:46 +0300 |
commit | 0d8db34a591f4dd32e391076991887292b520be4 (patch) | |
tree | 45cbd7a00d9c169c0c9d5ed6251f572afbcbad84 /src/gui/dialogsmanager.cpp | |
parent | 2a9042761c823c112b6c86af16fb03eef05ce110 (diff) | |
download | manaplus-0d8db34a591f4dd32e391076991887292b520be4.tar.gz manaplus-0d8db34a591f4dd32e391076991887292b520be4.tar.bz2 manaplus-0d8db34a591f4dd32e391076991887292b520be4.tar.xz manaplus-0d8db34a591f4dd32e391076991887292b520be4.zip |
Prevent from show multiply death dialogs.
This can happend if server update player health in wrong way.
Diffstat (limited to 'src/gui/dialogsmanager.cpp')
-rw-r--r-- | src/gui/dialogsmanager.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/gui/dialogsmanager.cpp b/src/gui/dialogsmanager.cpp index cb3e065bd..1f5a95c1b 100644 --- a/src/gui/dialogsmanager.cpp +++ b/src/gui/dialogsmanager.cpp @@ -121,15 +121,17 @@ Window *DialogsManager::openErrorDialog(const std::string &header, void DialogsManager::playerDeath() { - logger->log("DialogsManager::playerDeath"); - // TRANSLATORS: message header - deathNotice = new OkDialog(_("Message"), - DeadDB::getRandomString(), - // TRANSLATORS: ok dialog button - _("Revive"), - DialogType::OK, - false, true, nullptr, 260); - deathNotice->addActionListener(&postDeathListener); + if (!deathNotice) + { + // TRANSLATORS: message header + deathNotice = new OkDialog(_("Message"), + DeadDB::getRandomString(), + // TRANSLATORS: ok dialog button + _("Revive"), + DialogType::OK, + false, true, nullptr, 260); + deathNotice->addActionListener(&postDeathListener); + } } void DialogsManager::attributeChanged(const int id, |