Commit 18d6f0c7 authored by Nadro's avatar Nadro

- Fixed alt+tab issue under fullscreen OpenGL.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4324 dfc29bdd-3216-0410-991c-e03cc46cb475
parent f8d77add
...@@ -857,9 +857,16 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) ...@@ -857,9 +857,16 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
if (dev) if (dev)
{ {
if ((wParam&0xFF)==WA_INACTIVE) if ((wParam&0xFF)==WA_INACTIVE)
{
ShowWindow(hWnd,SW_MINIMIZE);
dev->switchToFullScreen(true); dev->switchToFullScreen(true);
}
else else
{
SetForegroundWindow(hWnd);
ShowWindow(hWnd, SW_RESTORE);
dev->switchToFullScreen(); dev->switchToFullScreen();
}
} }
break; break;
...@@ -1328,19 +1335,23 @@ bool CIrrDeviceWin32::switchToFullScreen(bool reset) ...@@ -1328,19 +1335,23 @@ bool CIrrDeviceWin32::switchToFullScreen(bool reset)
{ {
if (!CreationParams.Fullscreen) if (!CreationParams.Fullscreen)
return true; return true;
DEVMODE dm;
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
// use default values from current setting
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
if (reset) if (reset)
{ {
if (ChangedToFullScreen) if (ChangedToFullScreen)
return (ChangeDisplaySettings(NULL,0)==DISP_CHANGE_SUCCESSFUL); {
return (ChangeDisplaySettings(&dm,0)==DISP_CHANGE_SUCCESSFUL);
}
else else
return true; return true;
} }
DEVMODE dm;
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
// use default values from current setting
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
dm.dmPelsWidth = CreationParams.WindowSize.Width; dm.dmPelsWidth = CreationParams.WindowSize.Width;
dm.dmPelsHeight = CreationParams.WindowSize.Height; dm.dmPelsHeight = CreationParams.WindowSize.Height;
dm.dmBitsPerPel = CreationParams.Bits; dm.dmBitsPerPel = CreationParams.Bits;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment