From 4ead5c9f65ffbf1de9b0cb60cae06b116badbced Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 2 Feb 2011 22:15:55 +0200 Subject: Close npc and other dialogs if reconnecting. Also save extra layers if network error. --- src/game.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index f5565b71e..efa5085f5 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -484,12 +484,27 @@ void Game::logic() if (!disconnectedDialog) { + if (viewport) + { + Map *map = viewport->getCurrentMap(); + if (map) + map->saveExtraLayer(); + } + Client::closeDialogs(); disconnectedDialog = new OkDialog(_("Network Error"), errorMessage, false); disconnectedDialog->addActionListener(&errorListener); disconnectedDialog->requestMoveToTop(); } } + else + { + if (disconnectedDialog) + { + disconnectedDialog->scheduleDelete(); + disconnectedDialog = 0; + } + } } /** -- cgit v1.2.3-60-g2f50