From 97b7c0cab173bd5556c831ad60adc146911416d0 Mon Sep 17 00:00:00 2001 From: krzys-h Date: Mon, 20 Oct 2014 21:54:52 +0200 Subject: [PATCH] Fixed map turning gray after resizing window --- src/app/app.cpp | 1 + src/graphics/engine/engine.cpp | 2 +- src/object/robotmain.cpp | 14 ++++++++++++++ src/object/robotmain.h | 2 ++ src/ui/maindialog.cpp | 7 ------- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/app/app.cpp b/src/app/app.cpp index 06e3f01a..3ea0f5fc 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -725,6 +725,7 @@ bool CApplication::ChangeVideoConfig(const Gfx::GLDeviceConfig &newConfig) ( static_cast(m_device) )->ConfigChanged(m_deviceConfig); m_engine->ResetAfterDeviceChanged(); + m_robotMain->ResetAfterDeviceChanged(); return true; } diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index 2c412ec4..db702b7d 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -320,7 +320,7 @@ void CEngine::Destroy() void CEngine::ResetAfterDeviceChanged() { - m_size = m_app->GetVideoConfig().size;; + m_size = m_app->GetVideoConfig().size; m_text->FlushCache(); diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp index 6ca1da1f..1ad3c6de 100644 --- a/src/object/robotmain.cpp +++ b/src/object/robotmain.cpp @@ -959,6 +959,20 @@ void CRobotMain::LoadSceneOnStart(const std::string& name, int rank) ChangePhase(PHASE_LOADING); } +void CRobotMain::ResetAfterDeviceChanged() +{ + if(m_phase == PHASE_SETUPds || + m_phase == PHASE_SETUPgs || + m_phase == PHASE_SETUPps || + m_phase == PHASE_SETUPcs || + m_phase == PHASE_SETUPss || + m_phase == PHASE_SIMUL || + m_phase == PHASE_WIN || + m_phase == PHASE_LOST) + ChangeColor(); + UpdateMap(); +} + //! Creates the file colobot.ini at the first time void CRobotMain::CreateIni() diff --git a/src/object/robotmain.h b/src/object/robotmain.h index a55318d3..2c819ccb 100644 --- a/src/object/robotmain.h +++ b/src/object/robotmain.h @@ -210,6 +210,8 @@ public: void LoadSceneOnStart(const std::string& name, int rank); void CreateIni(); + + void ResetAfterDeviceChanged(); //! Sets the default input bindings (key and axes) void SetDefaultInputBindings(); diff --git a/src/ui/maindialog.cpp b/src/ui/maindialog.cpp index 3857d2e8..cc0c8ec2 100644 --- a/src/ui/maindialog.cpp +++ b/src/ui/maindialog.cpp @@ -4713,13 +4713,6 @@ void CMainDialog::ChangeDisplay() config.size = modes[m_setupSelMode]; config.fullScreen = bFull; m_app->ChangeVideoConfig(config); - - - if ( m_bSimulSetup ) - { - m_main->ChangeColor(); - m_main->UpdateMap(); - } }