Previous 199869 Revisions Next

r193877 Monday 27th February, 2023 at 18:29:22 UTC by Vasantha Crabb
osd/modules/input: Always use DirectInput with desktop window in background mode.

There are multiple issues with what MAME was doing, but the most glaring
is that it violates the DirectInput interface contract that requires the
window associated with an open device must not be destroyed.  See
documentation for IDirectInputDevice8::SetCooperativeLevel: "This
parameter must be a valid top-level window handle that belongs to the
process. The window associated with the device must not be destroyed
while it is still active in a DirectInput device."

The previous code also prevented DirectInput controllers from working
when using multiple windows if any window other than the first window
had focus.

Also fixed SDL builds not correctly recognising when all windows lose
focus, and save state menu not appearing.
[/branches/a800_cart/src/frontend/mame/ui]ui.cpp
[/branches/a800_cart/src/osd/modules/input]input_dinput.cpp
[/branches/a800_cart/src/osd/sdl]osdsdl.cpp


Previous 199869 Revisions Next


© 1997-2024 The MAME Team