X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fwindows%2Fdisplay.cpp;h=fdae09e362e5abe25c8c29d34a5380d351a6b1ae;hb=f438f4d467fa96e1b484f70e25dc1d6389170393;hp=7b616662ae9e06585c874f4e36c24af027d3f808;hpb=12df88ecf9787f4ed59051646775165b74301cf0;p=libs%2Fgui.git diff --git a/source/graphics/windows/display.cpp b/source/graphics/windows/display.cpp index 7b61666..fdae09e 100644 --- a/source/graphics/windows/display.cpp +++ b/source/graphics/windows/display.cpp @@ -44,7 +44,7 @@ Display::Display(const string &): mode.index = modes.size(); mode.monitor = &monitor; mode.rate = info.dmDisplayFrequency; - if(find_matching_mode(mode)) + if(find_mode(mode)) continue; modes.push_back(mode); @@ -62,12 +62,16 @@ Display::~Display() void Display::set_mode(const VideoMode &requested_mode, bool) { - const VideoMode *mode = find_matching_mode(requested_mode); + const VideoMode *mode = find_mode(requested_mode); if(!mode) throw unsupported_video_mode(requested_mode); DEVMODE info; + info.dmDeviceName[0] = 0; + info.dmSpecVersion = DM_SPECVERSION; + info.dmDriverVersion = 0; info.dmSize = sizeof(DEVMODE); + info.dmDriverExtra = 0; info.dmFields = DM_PELSWIDTH|DM_PELSHEIGHT; info.dmPelsWidth = mode->width; info.dmPelsHeight = mode->height; @@ -91,6 +95,7 @@ bool Display::process_events() MSG msg; if(PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { + TranslateMessage(&msg); DispatchMessage(&msg); return true; }