winmm: WAVE/MIDI_MAPPER (-1) is a 32 bit UINT, not 16.
diff --git a/dlls/winmm/lolvldrv.c b/dlls/winmm/lolvldrv.c
index 193310f..50fc365 100644
--- a/dlls/winmm/lolvldrv.c
+++ b/dlls/winmm/lolvldrv.c
@@ -94,11 +94,11 @@
WINE_MM_DRIVER_PART* part;
WINE_LLTYPE* llType = &llTypes[mld->type];
- TRACE("(%s %u %u 0x%08lx 0x%08lx 0x%08lx)\n",
+ TRACE("(%s %d %u 0x%08lx 0x%08lx 0x%08lx)\n",
llTypes[mld->type].typestr, mld->uDeviceID, wMsg,
mld->dwDriverInstance, dwParam1, dwParam2);
- if (mld->uDeviceID == (UINT16)-1) {
+ if ((UINT16)mld->uDeviceID == (UINT16)-1) {
if (llType->nMapper == -1) {
WARN("uDev=-1 requested on non-mapped ll type %s\n",
llTypes[mld->type].typestr);
@@ -116,7 +116,7 @@
assert(part->fnMessage32);
- TRACE("Calling message(dev=%u msg=%u usr=0x%08lx p1=0x%08lx p2=0x%08lx)\n",
+ TRACE("Calling message(dev=%d msg=%u usr=0x%08lx p1=0x%08lx p2=0x%08lx)\n",
mld->uDeviceID, wMsg, mld->dwDriverInstance, dwParam1, dwParam2);
ret = part->fnMessage32(mld->uDeviceID, wMsg, mld->dwDriverInstance, dwParam1, dwParam2);
TRACE("=> %s\n", WINMM_ErrorToString(ret));
@@ -202,7 +202,6 @@
WARN("Mapper not supported for type %s\n", llTypes[mld->type].typestr);
return MMSYSERR_BADDEVICEID;
}
- mld->uDeviceID = (UINT16)-1;
mld->mmdIndex = llType->lpMlds[-1].mmdIndex;
TRACE("Setting mmdIndex to %u\n", mld->mmdIndex);
dwRet = MMDRV_Message(mld, wMsg, dwParam1, dwFlags);
@@ -403,7 +402,7 @@
/* re-build the translation table */
if (lpDrv->bIsMapper) {
TRACE("%s:Trans[%d] -> %s\n", llTypes[type].typestr, -1, MMDrvs[llTypes[type].nMapper].drvname);
- llTypes[type].lpMlds[-1].uDeviceID = (UINT16)-1;
+ llTypes[type].lpMlds[-1].uDeviceID = (UINT)-1;
llTypes[type].lpMlds[-1].type = type;
llTypes[type].lpMlds[-1].mmdIndex = llTypes[type].nMapper;
llTypes[type].lpMlds[-1].dwDriverInstance = 0;