| Summary: | In 2.0.4 Fullscreen/ShowWindow started causing repeat SDL_KEYDOWN on X11 | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Kevin Locke <kevin> |
| Component: | video | Assignee: | Sam Lantinga <slouken> |
| Status: | ASSIGNED --- | QA Contact: | Sam Lantinga <slouken> |
| Severity: | blocker | ||
| Priority: | P2 | CC: | akari, asmith, crobinso, icculus |
| Version: | HG 2.0 | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Attachments: |
Example program which causes the issue by pressing f
Example program output for changeset 6ab4d6f34afb Example program output for changeset 1021c9bd0f64 |
||
|
Description
Kevin Locke
2016-03-10 21:35:05 UTC
Created attachment 2392 [details]
Example program output for changeset 6ab4d6f34afb
Created attachment 2393 [details]
Example program output for changeset 1021c9bd0f64
qemu is suffering from the same problem, and I can confirm that changeset 1021c9bd0f64 is the culprit for SDL_SetWindowFullscreen qemu has another similar issue with repeat KEYDOWN events on ShowWindow. I bisected to just a few commits earlier: https://hg.libsdl.org/SDL/rev/e55dad50b3ae Author: Sam Lantinga <slouken@libsdl.org> Date: Thu May 28 09:52:48 2015 -0700 Fixed X11 build, added code to print initial modifiers to checkkeys https://hg.libsdl.org/SDL/rev/7099e2df7b29 Author: Sam Lantinga <slouken@libsdl.org> Date: Thu May 28 09:33:47 2015 -0700 Fixed bug 2736 - X11 doesn't set KMOD_NUM and KMOD_CAPS to system state Since the commits overlap I assume it's the same root issue. CCing Ryan C. Gordon who was commenting in the referenced bug #2736 Also seeing this bug here on 2.0.4 and latest HG. Worked around by ignoring repeat keypresses for fullscreen toggling. Hey Ryan, can you fix this for 2.0.5? This is a pretty critical regression. The fullscreen issue seems fixed with 2.0.6, at least the SDL2-2.0.6-2 version in Fedora 27. The similar ShowWindow issues I mentioned in Comment #3 are still present though and are the more crippling problem for qemu's SDL usage... This is still not fixed as of SDL 2.0.7 / 2.0.8dev. Seems like user events, at least those generated when handling a legit SDL_KEYDOWN, are affected by this as well. I'll see if I can construct a test case later. |