From 72c06401c0e78692a1cd81c3cfa8184bd959d4b1 Mon Sep 17 00:00:00 2001 From: Anis Date: Thu, 27 Nov 2014 17:52:05 +0100 Subject: [PATCH] black screen bug fix --- Engine/source/windowManager/win32/win32Window.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Engine/source/windowManager/win32/win32Window.cpp b/Engine/source/windowManager/win32/win32Window.cpp index 17afdc83d..576a0adc7 100644 --- a/Engine/source/windowManager/win32/win32Window.cpp +++ b/Engine/source/windowManager/win32/win32Window.cpp @@ -138,9 +138,10 @@ const GFXVideoMode & Win32Window::getVideoMode() void Win32Window::setVideoMode( const GFXVideoMode &mode ) { - bool needCurtain = (mVideoMode.fullScreen != mode.fullScreen); + bool needCurtain = (mVideoMode.fullScreen != mode.fullScreen); + static bool first_load = true; - if(needCurtain) + if(needCurtain) { Con::errorf("Win32Window::setVideoMode - invoking curtain"); mOwningManager->lowerCurtain(); @@ -208,7 +209,10 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode ) } else { - ChangeDisplaySettings(NULL, 0); + if (!first_load) + ChangeDisplaySettings(NULL, 0); + + first_load = false; // Reset device *first*, so that when we call setSize() and let it // access the monitor settings, it won't end up with our fullscreen