summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/input/input_dinput.cpp
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-02-29 10:10:50 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2016-02-29 10:10:50 +0100
commit7936291894faa9cc3df6039b8794c01b988055ed (patch)
tree9eb264ccfb04c3145b27e925d5d17faa7b2dc683 /src/osd/modules/input/input_dinput.cpp
parent805fb4e77369843b2dc550a2f9ae8d8de6bbb0f3 (diff)
fix compile on 32bit mingw (nw)
Diffstat (limited to 'src/osd/modules/input/input_dinput.cpp')
-rw-r--r--src/osd/modules/input/input_dinput.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/osd/modules/input/input_dinput.cpp b/src/osd/modules/input/input_dinput.cpp
index 3c679073b86..6ca8fbb9235 100644
--- a/src/osd/modules/input/input_dinput.cpp
+++ b/src/osd/modules/input/input_dinput.cpp
@@ -206,19 +206,20 @@ public:
}
virtual BOOL device_enum_callback(LPCDIDEVICEINSTANCE instance, LPVOID ref) = 0;
+
+ struct dinput_callback_context
+ {
+ dinput_module * self;
+ running_machine * machine;
+ };
+ static BOOL CALLBACK enum_callback(LPCDIDEVICEINSTANCE instance, LPVOID ref)
+ {
+ return ((dinput_callback_context*)ref)->self->device_enum_callback(instance, ((dinput_callback_context*)ref)->machine);
+ }
void input_init(running_machine &machine) override
{
- struct dinput_callback_context
- {
- dinput_module * self;
- running_machine * machine;
- } context = { this, &machine };
-
- // enumerate the ones we have
- auto enum_callback = [](LPCDIDEVICEINSTANCE instance, LPVOID ref) {
- return ((dinput_callback_context*)ref)->self->device_enum_callback(instance, ((dinput_callback_context*)ref)->machine);
- };
+ dinput_callback_context context = { this, &machine };
HRESULT result = IDirectInput_EnumDevices(m_dinput, dinput_devclass(), enum_callback, &context, DIEDFL_ATTACHEDONLY);
if (result != DI_OK)