summaryrefslogtreecommitdiff
path: root/VisualC-WinRT
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2020-12-08 22:00:06 -0800
committerSam Lantinga <slouken@libsdl.org>2020-12-08 22:00:06 -0800
commit30a2ce0b96729b01e10886e8f82dc0dda185bf37 (patch)
tree9bf96d19b017407ad1e12cca4002e74630a2aab5 /VisualC-WinRT
parent1a08947d5aa7e94df8661f461f36688696cc2226 (diff)
downloadsdl-30a2ce0b96729b01e10886e8f82dc0dda185bf37.tar.gz
Fixed bug 5329 - SDL_SetWindowGrab(SDL_FALSE) fails to unlock cursor if window is partially offscreen
Ivan Mogilko With SDL 2.0.12 under MS Windows, if the window is partially offscreen calling SDL_SetWindowGrab(w, SDL_TRUE) works, but subsequent call to SDL_SetWindowGrab(w, SDL_FALSE) does not work. I tested this in both real program, and a small test app, where unlocking cursor worked perfectly while window is fully in desktop bounds, but did not work if it was at least few pixels outside. For the reference, following code is enough to reproduce the issue: #include <windows.h> #include <SDL.h> int WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { SDL_Init(SDL_INIT_VIDEO); SDL_Window* w = SDL_CreateWindow("", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 400, 0); bool grabbed = false; bool want_quit = false; while (!want_quit) { SDL_Event event; while (SDL_PollEvent(&event)) { switch (event.type) { case SDL_QUIT: want_quit = true; break; case SDL_KEYDOWN: if (event.key.keysym.scancode == SDL_SCANCODE_SPACE) { SDL_SetWindowGrab(w, static_cast<SDL_bool>(!grabbed)); grabbed = !grabbed; } } } } SDL_DestroyWindow(w); SDL_Quit(); return 0; }
Diffstat (limited to 'VisualC-WinRT')
0 files changed, 0 insertions, 0 deletions