aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/winmm_drv/src/winmm_drv.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/winmm_drv/src/winmm_drv.cpp b/utils/winmm_drv/src/winmm_drv.cpp
index 09f38d2..6ebc391 100644
--- a/utils/winmm_drv/src/winmm_drv.cpp
+++ b/utils/winmm_drv/src/winmm_drv.cpp
@@ -303,9 +303,14 @@ LONG OpenDriver(Driver *driver, UINT uDeviceID, UINT uMsg, DWORD_PTR dwUser, DWO
driver->clients[clientNum].flags = HIWORD(dwParam2);
driver->clients[clientNum].callback = desc->dwCallback;
driver->clients[clientNum].instance = desc->dwInstance;
- *(LONG *)dwUser = clientNum;
+
+ if(dwUser)
+ *(LONG *)dwUser = clientNum;
+
driver->clientCount++;
+
DoCallback(uDeviceID, clientNum, MOM_OPEN, (DWORD_PTR)NULL, (DWORD_PTR)NULL);
+
return MMSYSERR_NOERROR;
}