When switching keyboard layouts in Hexen or Hexen: DD, the game locks up. For some reason, this doesn’t happen with any other IWAD, and because it’s an instant freeze, I can’t show anything by using a log file.
I’ve confirmed that this only happens when using Windows shortcuts (in my case, Shift + Alt + 1–4). When switching via the taskbar and returning to the game, GZDoom doesn’t lock up.
Below is a list of my keyboard layouts, if relevant:
(Swedish, Croatian, Serbian, Russian)
[g3.8pre-624-gf1d931517] Hexen freeze when switch kb. layout
Moderator: GZDoom Developers
Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.
If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.
Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.
If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.
Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
Re: [g3.8pre-624-gf1d931517] Hexen freeze when switch kb. la
For this, it might be helpful to list your bindings for those selected keys.
Re: [g3.8pre-624-gf1d931517] Hexen freeze when switch kb. la
You mean ingame? Shift for running, 1–4 is weapons, and Alt is unbound. And that’s not unique to Hexen—my bindings are the same in other games.Rachael wrote:For this, it might be helpful to list your bindings for those selected keys.
Re: [g3.8pre-624-gf1d931517] Hexen freeze when switch kb. la
It dead locks inside DefWindowProcW() indeed.
The message in question was WM_INPUTLANGCHANGEREQUEST.
Code: Select all
win32u.dll!NtUserMessageCall()
user32.dll!RealDefWindowProcWorker()
user32.dll!DefWindowProcW()
gzdoom.exe!WndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 623
user32.dll!UserCallWinProcCheckWow()
user32.dll!CallWindowProcW()
opengl32.dll!wglWndProc()
user32.dll!UserCallWinProcCheckWow()
user32.dll!DispatchMessageWorker()
gzdoom.exe!I_GetEvent() Line 768
gzdoom.exe!I_StartTic() Line 791
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49067
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [g3.8pre-624-gf1d931517] Hexen freeze when switch kb. la
Not related to this problem, but that call trace finally reveals why it was impossible to do live switch between D3D and OpenGL in the past - behold that wglWndProc in there!