diff --git a/src/Magnum/Platform/WindowlessWglApplication.cpp b/src/Magnum/Platform/WindowlessWglApplication.cpp index b36649206..f4bad5cbf 100644 --- a/src/Magnum/Platform/WindowlessWglApplication.cpp +++ b/src/Magnum/Platform/WindowlessWglApplication.cpp @@ -51,7 +51,10 @@ int WindowlessWglApplication::create(LRESULT(CALLBACK windowProcedure)(HWND, UIN CreateWindowW(wc.lpszClassName, L"Magnum Windowless Application", WS_OVERLAPPEDWINDOW, 0, 0, 32, 32, 0, 0, wc.hInstance, 0); - return 0; + /* Hammer the return code out of the messaging thingy */ + MSG msg; + do {} while(GetMessageW(&msg, nullptr, 0, 0) != 0); + return msg.wParam; } #endif diff --git a/src/Magnum/Platform/WindowlessWglApplication.h b/src/Magnum/Platform/WindowlessWglApplication.h index 6a1f22799..c846927d4 100644 --- a/src/Magnum/Platform/WindowlessWglApplication.h +++ b/src/Magnum/Platform/WindowlessWglApplication.h @@ -195,9 +195,8 @@ windowless application header is included this macro is also aliased to case WM_CREATE: \ { \ className app({globalArgc, globalArgv, hWnd}); \ - app.exec(); \ + PostQuitMessage(app.exec()); \ } \ - PostQuitMessage(0); \ break; \ default: return DefWindowProc(hWnd, message, wParam, lParam); \ } \