PATCH: mmioAdvance

Johan Gill johane at lysator.liu.se
Tue May 14 15:52:40 CDT 2002


Changelog:
lpmmioinfo can sometimes, proven in the read case, be NULL.

-- 
Johan Gill, johane at lysator.liu.se
-------------- next part --------------
Index: wine/dlls/winmm/mmio.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/mmio.c,v
retrieving revision 1.31
diff -u -u -r1.31 mmio.c
--- wine/dlls/winmm/mmio.c	9 Mar 2002 23:44:33 -0000	1.31
+++ wine/dlls/winmm/mmio.c	14 May 2002 13:29:10 -0000
@@ -1284,17 +1284,21 @@
     }
     if (MMIO_Flush(wm, 0) != MMSYSERR_NOERROR)
 	return MMIOERR_CANNOTWRITE;
-    wm->dwFileSize = max(wm->dwFileSize, lpmmioinfo->lBufOffset + (lpmmioinfo->pchNext - lpmmioinfo->pchBuffer));
 
+    if (lpmmioinfo) {
+	wm->dwFileSize = max(wm->dwFileSize, lpmmioinfo->lBufOffset + (lpmmioinfo->pchNext - lpmmioinfo->pchBuffer));
+    }
     MMIO_GrabNextBuffer(wm, uFlags == MMIO_READ);
 
-    lpmmioinfo->pchNext = lpmmioinfo->pchBuffer;
-    lpmmioinfo->pchEndRead  = lpmmioinfo->pchBuffer + 
-	(wm->info.pchEndRead - wm->info.pchBuffer);
-    lpmmioinfo->pchEndWrite = lpmmioinfo->pchBuffer + 
-	(wm->info.pchEndWrite - wm->info.pchBuffer);
-    lpmmioinfo->lDiskOffset = wm->info.lDiskOffset;
-    lpmmioinfo->lBufOffset = wm->info.lBufOffset;
+    if (lpmmioinfo) {
+	lpmmioinfo->pchNext = lpmmioinfo->pchBuffer;
+	lpmmioinfo->pchEndRead  = lpmmioinfo->pchBuffer + 
+	    (wm->info.pchEndRead - wm->info.pchBuffer);
+	lpmmioinfo->pchEndWrite = lpmmioinfo->pchBuffer + 
+	    (wm->info.pchEndWrite - wm->info.pchBuffer);
+	lpmmioinfo->lDiskOffset = wm->info.lDiskOffset;
+	lpmmioinfo->lBufOffset = wm->info.lBufOffset;
+    }
     return MMSYSERR_NOERROR;
 }
 


More information about the wine-patches mailing list