Name: mcitf ChangeLog: - applied to all MCI drivers Dmitry's fix for MCI_STATUS_TIME_FORMAT (wasn't returning string resource ID) - fixed mciseq when opened without a filename License: LGPL GenDate: 2004/01/07 20:35:56 UTC ModifiedFiles: dlls/winmm/mciwave/mciwave.c dlls/winmm/mciseq/mcimidi.c dlls/winmm/mcicda/mcicda.c dlls/winmm/mcianim/mcianim.c =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mciwave/mciwave.c,v retrieving revision 1.28 diff -u -u -r1.28 mciwave.c --- dlls/winmm/mciwave/mciwave.c 5 Sep 2003 23:08:27 -0000 1.28 +++ dlls/winmm/mciwave/mciwave.c 7 Jan 2004 20:32:48 -0000 @@ -1383,7 +1383,7 @@ ret = MCI_RESOURCE_RETURNED; break; case MCI_STATUS_TIME_FORMAT: - lpParms->dwReturn = MAKEMCIRESOURCE(wmw->dwMciTimeFormat, wmw->dwMciTimeFormat); + lpParms->dwReturn = MAKEMCIRESOURCE(wmw->dwMciTimeFormat, MCI_FORMAT_RETURN_BASE + wmw->dwMciTimeFormat); TRACE("MCI_STATUS_TIME_FORMAT => %lu\n", lpParms->dwReturn); ret = MCI_RESOURCE_RETURNED; break; Index: dlls/winmm/mciseq/mcimidi.c =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mciseq/mcimidi.c,v retrieving revision 1.22 diff -u -u -r1.22 mcimidi.c --- dlls/winmm/mciseq/mcimidi.c 7 Oct 2003 22:54:17 -0000 1.22 +++ dlls/winmm/mciseq/mcimidi.c 7 Jan 2004 20:33:11 -0000 @@ -67,7 +67,7 @@ WORD wNotifyDeviceID; /* MCI device ID with a pending notification */ HANDLE hCallback; /* Callback handle for pending notification */ HMMIO hFile; /* mmio file handle open as Element */ - LPSTR lpstrElementName; /* Name of file */ + LPSTR lpstrElementName; /* Name of file (if any) */ LPSTR lpstrCopyright; LPSTR lpstrName; WORD dwStatus; /* one from MCI_MODE_xxxx */ @@ -726,6 +726,7 @@ wmm->hFile = 0; wmm->hMidi = 0; + wmm->lpstrElementName = NULL; dwDeviceID = lpParms->wDeviceID; TRACE("wDevID=%04X (lpParams->wDeviceID=%08lX)\n", wDevID, dwDeviceID); @@ -741,15 +742,12 @@ wmm->nUseCount--; return MCIERR_FILE_NOT_FOUND; } - } else { - wmm->hFile = 0; + wmm->lpstrElementName = HeapAlloc(GetProcessHeap(), 0, strlen(lpParms->lpstrElementName) + 1); + strcpy(wmm->lpstrElementName, lpParms->lpstrElementName); } } TRACE("hFile=%p\n", wmm->hFile); - /* FIXME: should I get a strdup() of it instead? */ - wmm->lpstrElementName = HeapAlloc( GetProcessHeap(), 0, strlen(lpParms->lpstrElementName)+1 ); - strcpy( wmm->lpstrElementName, lpParms->lpstrElementName ); wmm->lpstrCopyright = NULL; wmm->lpstrName = NULL; @@ -918,7 +916,7 @@ if (wmm == NULL) return MCIERR_INVALID_DEVICE_ID; if (wmm->hFile == 0) { - WARN("Can't play: no file '%s' !\n", wmm->lpstrElementName); + WARN("Can't play: no file '%s' !\n", debugstr_a(wmm->lpstrElementName)); return MCIERR_FILE_NOT_FOUND; } @@ -1196,7 +1194,7 @@ if (wmm == 0) return MCIERR_INVALID_DEVICE_ID; if (wmm->hFile == 0) { - WARN("Can't find file='%s' !\n", wmm->lpstrElementName); + WARN("Can't find file='%s' !\n", debugstr_a(wmm->lpstrElementName)); return MCIERR_FILE_NOT_FOUND; } start = 1; end = 99999; @@ -1430,7 +1428,7 @@ TRACE("MCI_STATUS_READY = %u\n", LOWORD(lpParms->dwReturn)); break; case MCI_STATUS_TIME_FORMAT: - lpParms->dwReturn = MAKEMCIRESOURCE(wmm->dwMciTimeFormat, wmm->dwMciTimeFormat); + lpParms->dwReturn = MAKEMCIRESOURCE(wmm->dwMciTimeFormat, MCI_FORMAT_RETURN_BASE + wmm->dwMciTimeFormat); TRACE("MCI_STATUS_TIME_FORMAT => %u\n", LOWORD(lpParms->dwReturn)); ret = MCI_RESOURCE_RETURNED; break; Index: dlls/winmm/mcicda/mcicda.c =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mcicda/mcicda.c,v retrieving revision 1.29 diff -u -u -r1.29 mcicda.c --- dlls/winmm/mcicda/mcicda.c 7 Oct 2003 22:54:17 -0000 1.29 +++ dlls/winmm/mcicda/mcicda.c 7 Jan 2004 20:33:51 -0000 @@ -647,7 +647,7 @@ ret = MCI_RESOURCE_RETURNED; break; case MCI_STATUS_TIME_FORMAT: - lpParms->dwReturn = MAKEMCIRESOURCE(wmcda->dwTimeFormat, wmcda->dwTimeFormat); + lpParms->dwReturn = MAKEMCIRESOURCE(wmcda->dwTimeFormat, MCI_FORMAT_RETURN_BASE + wmcda->dwTimeFormat); TRACE("MCI_STATUS_TIME_FORMAT=%08x!\n", LOWORD(lpParms->dwReturn)); ret = MCI_RESOURCE_RETURNED; break; Index: dlls/winmm/mcianim/mcianim.c =================================================================== RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mcianim/mcianim.c,v retrieving revision 1.18 diff -u -u -r1.18 mcianim.c --- dlls/winmm/mcianim/mcianim.c 7 Oct 2003 22:54:17 -0000 1.18 +++ dlls/winmm/mcianim/mcianim.c 7 Jan 2004 20:33:32 -0000 @@ -460,7 +460,7 @@ return 0; case MCI_STATUS_TIME_FORMAT: TRACE("MCI_STATUS_TIME_FORMAT !\n"); - lpParms->dwReturn = MAKEMCIRESOURCE(MCI_FORMAT_MILLISECONDS, MCI_FORMAT_MILLISECONDS); + lpParms->dwReturn = MAKEMCIRESOURCE(MCI_FORMAT_MILLISECONDS, MCI_FORMAT_MILLISECONDS_S); TRACE("MCI_STATUS_TIME_FORMAT => %u\n", LOWORD(lpParms->dwReturn)); ret = MCI_RESOURCE_RETURNED; return 0;