X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fwindows%2Fdisplay.cpp;h=d767bebd2e8ea11e67ddfd8a442f22ad1c539522;hb=e15959a69551c2027029470e65a17ea5a305545b;hp=4c893335c9ec06cd3fafbef01f5c7618c482159e;hpb=eb81125a81735eceef4a8be54a0bafcae6901e18;p=libs%2Fgui.git diff --git a/source/graphics/windows/display.cpp b/source/graphics/windows/display.cpp index 4c89333..d767beb 100644 --- a/source/graphics/windows/display.cpp +++ b/source/graphics/windows/display.cpp @@ -9,7 +9,8 @@ namespace Graphics { Display::Display(const string &): primary_monitor(0), - priv(new Private) + priv(new Private), + focus_window(0) { static ErrorDialog err_dlg(0); @@ -26,6 +27,7 @@ Display::Display(const string &): monitors.push_back(Monitor()); Monitor &monitor = monitors.back(); monitor.index = monitors.size()-1; + monitor.name = adapter_dev.DeviceString; priv->monitors.push_back(adapter_dev.DeviceName); if(adapter_dev.StateFlags&DISPLAY_DEVICE_PRIMARY_DEVICE) @@ -67,7 +69,11 @@ void Display::set_mode(const VideoMode &requested_mode, bool) 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 +97,7 @@ bool Display::process_events() MSG msg; if(PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { + TranslateMessage(&msg); DispatchMessage(&msg); return true; }