Akihiro Sagawa : winmm: Memory file buffer is available even if we just allocate memory.

Alexandre Julliard julliard at winehq.org
Mon Jun 16 12:37:50 CDT 2014


Module: wine
Branch: master
Commit: c4629e5af549e7e30a8573b00d9e420f86e33e47
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c4629e5af549e7e30a8573b00d9e420f86e33e47

Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date:   Mon Jun 16 22:48:23 2014 +0900

winmm: Memory file buffer is available even if we just allocate memory.

---

 dlls/winmm/mmio.c       |    5 +----
 dlls/winmm/tests/mmio.c |   20 ++++----------------
 2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/dlls/winmm/mmio.c b/dlls/winmm/mmio.c
index c8f3745..8521b87 100644
--- a/dlls/winmm/mmio.c
+++ b/dlls/winmm/mmio.c
@@ -574,7 +574,7 @@ static MMRESULT MMIO_SetBuffer(WINE_MMIO* wm, void* pchBuffer, LONG cchBuffer,
     wm->info.pchEndRead = wm->info.pchBuffer;
     wm->info.pchEndWrite = wm->info.pchBuffer + cchBuffer;
     wm->info.lBufOffset = wm->info.lDiskOffset;
-    wm->bBufferLoaded = FALSE;
+    wm->bBufferLoaded = (wm->info.fccIOProc == FOURCC_MEM);
 
     return MMSYSERR_NOERROR;
 }
@@ -660,9 +660,6 @@ static HMMIO MMIO_Open(LPSTR szFileName, MMIOINFO* refmminfo, DWORD dwOpenFlags,
 	    goto error1;
     }
 
-    if (wm->info.fccIOProc == FOURCC_MEM && !(wm->info.dwFlags & MMIO_ALLOCBUF))
-        wm->bBufferLoaded = TRUE;
-
     /* see mmioDosIOProc for that one */
     memcpy( wm->info.adwInfo, refmminfo->adwInfo, sizeof(wm->info.adwInfo) );
 
diff --git a/dlls/winmm/tests/mmio.c b/dlls/winmm/tests/mmio.c
index 0853b8f..71efc5d 100644
--- a/dlls/winmm/tests/mmio.c
+++ b/dlls/winmm/tests/mmio.c
@@ -347,10 +347,7 @@ static void test_mmioOpen(char *fname)
     ok(mmio.lDiskOffset == 0, "expected 0, got %d\n", mmio.lDiskOffset);
 
     ret = mmioSeek(hmmio, 0, SEEK_CUR);
-    if (fname)
-        ok(ret == 0, "expected 0, got %d\n", ret);
-    else
-        todo_wine ok(ret == 0, "expected 0, got %d\n", ret);
+    ok(ret == 0, "expected 0, got %d\n", ret);
 
     mmioClose(hmmio, 0);
 
@@ -408,10 +405,7 @@ static void test_mmioOpen(char *fname)
     ok(mmio.lDiskOffset == 0, "expected 0, got %d\n", mmio.lDiskOffset);
 
     ret = mmioSeek(hmmio, 0, SEEK_CUR);
-    if (fname)
-        ok(ret == 0, "expected 0, got %d\n", ret);
-    else
-        todo_wine ok(ret == 0, "expected 0, got %d\n", ret);
+    ok(ret == 0, "expected 0, got %d\n", ret);
 
     mmioClose(hmmio, 0);
 
@@ -440,10 +434,7 @@ static void test_mmioOpen(char *fname)
     ok(mmio.lDiskOffset == 0, "expected 0, got %d\n", mmio.lDiskOffset);
 
     ret = mmioSeek(hmmio, 0, SEEK_CUR);
-    if (fname)
-        ok(ret == 0, "expected 0, got %d\n", ret);
-    else
-        todo_wine ok(ret == 0, "expected 0, got %d\n", ret);
+    ok(ret == 0, "expected 0, got %d\n", ret);
 
     mmioClose(hmmio, 0);
 
@@ -607,10 +598,7 @@ static void test_mmioSetBuffer(char *fname)
     ok(mmio.lDiskOffset == 0, "expected 0, got %d\n", mmio.lDiskOffset);
 
     ret = mmioSeek(hmmio, 0, SEEK_CUR);
-    if (fname)
-        ok(ret == 0, "expected 0, got %d\n", ret);
-    else
-        todo_wine ok(ret == 0, "expected 0, got %d\n", ret);
+    ok(ret == 0, "expected 0, got %d\n", ret);
 
     mmioClose(hmmio, 0);
 }




More information about the wine-cvs mailing list