From e0bbc53a6694656811205b100d00d2e0a64810b0 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Fri, 19 Apr 2024 22:36:11 +0200 Subject: [PATCH] Something something --- src/client/clientlauncher.cpp | 17 ++++------------- src/client/game.cpp | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 5ea089fea..580835848 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -173,8 +173,9 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) m_rendering_engine->get_raw_device()-> setWindowCaption(utf8_to_wide(caption).c_str()); - try { // This is used for catching disconnects - +#ifdef NDEBUG + try { +#endif m_rendering_engine->get_gui_env()->clear(); /* @@ -215,18 +216,8 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) chat_backend, &reconnect_requested ); - } //try - catch (con::PeerNotFoundException &e) { - error_message = gettext("Connection error (timed out?)"); - errorstream << error_message << std::endl; - } - catch (ShaderException &e) { - error_message = e.what(); - errorstream << error_message << std::endl; - } - #ifdef NDEBUG - catch (std::exception &e) { + } catch (std::exception &e) { error_message = "Some exception: "; error_message.append(debug_describe_exc(e)); errorstream << error_message << std::endl; diff --git a/src/client/game.cpp b/src/client/game.cpp index 4bd3d593d..61d919266 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1015,6 +1015,12 @@ Game::Game() : Game::~Game() { + delete client; + delete soundmaker; + sound_manager.reset(); + + delete server; + delete hud; delete camera; delete quicktune; @@ -1265,11 +1271,14 @@ void Game::shutdown() } delete client; + client = nullptr; delete soundmaker; + soundmaker = nullptr; sound_manager.reset(); auto stop_thread = runInThread([=] { delete server; + server = nullptr; }, "ServerStop"); FpsControl fps_control; @@ -4558,6 +4567,13 @@ void the_game(bool *kill, error_message = std::string("ModError: ") + e.what() + strgettext("\nCheck debug.txt for details."); errorstream << error_message << std::endl; + } catch (con::PeerNotFoundException &e) { + error_message = gettext("Connection error (timed out?)"); + errorstream << error_message << std::endl; + } catch (ShaderException &e) { + error_message = e.what(); + errorstream << error_message << std::endl; } + game.shutdown(); }