From eedeca17b9867762093e330d68bf21aea9e75fba Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 14 May 2011 03:23:49 +0300 Subject: Add missing checks. --- src/client.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index 4bd321712..2e44b94b3 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -673,7 +673,8 @@ int Client::exec() while (get_elapsed_time(lastTickTime) > 0) { - gui->logic(); + if (gui) + gui->logic(); if (game) game->logic(); @@ -689,7 +690,8 @@ int Client::exec() if (SDL_GetAppState() & SDL_APPACTIVE) { frame_count++; - gui->draw(); + if (gui) + gui->draw(); graphics->updateScreen(); // logger->log("active"); } @@ -745,8 +747,14 @@ int Client::exec() else if (mOldState == STATE_START || (mOldState == STATE_GAME && mState != STATE_GAME)) { + if (!gui) + break; + gcn::Container *top = static_cast(gui->getTop()); + if (!top) + break; + mDesktop = new Desktop; top->add(mDesktop); mSetupButton = new Button(_("Setup"), "Setup", this); @@ -1635,6 +1643,9 @@ void Client::initScreenshotDir() void Client::accountLogin(LoginData *loginData) { + if (!loginData) + return; + logger->log("Username is %s", loginData->username.c_str()); // Send login infos -- cgit v1.2.3-60-g2f50