aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/winmm_drv/src/winmm_drv.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/utils/winmm_drv/src/winmm_drv.cpp b/utils/winmm_drv/src/winmm_drv.cpp
index 9baa56a..09f38d2 100644
--- a/utils/winmm_drv/src/winmm_drv.cpp
+++ b/utils/winmm_drv/src/winmm_drv.cpp
@@ -266,8 +266,12 @@ void DoCallback(int driverNum, DWORD_PTR clientNum, DWORD msg, DWORD_PTR param1,
{
Driver::Client *client = &drivers[driverNum].clients[clientNum];
#ifdef __MINGW32__
- if(s_DriverCallback)
+ if(!s_DriverCallback)
+ {
initWorkarounds();
+ if(!s_DriverCallback)
+ return; // Ouch!
+ }
#endif
DriverCallback(client->callback, client->flags, drivers[driverNum].hdrvr, msg, client->instance, param1, param2);
}