mmio: Do not zero current file position whenever mmioSetBuffer is called

Matthew D'Asaro medasaro at
Tue Jun 3 21:57:00 CDT 2008

This patch fixes bug 13669 - DCArt32: a bug in mmio breaks audio 
filters. Please review what I have done here and tell me if I am wrong. 
I am still new to coding for wine :-)

As mmioSetBuffer is currently written, every time it is called it sets 
wm->info.lBufOffset to zero. This is incorrect as setting this to zero 
effectively sets the current file position pointer to zero which means 
that subsequent mmioWrite operations will overwrite existing data. 
Instead I set wm->info.lBufOffset to wm->info.lDiskOffset because the 
buffer is flushed at the beginning of a call to mmioSetBuffer so 
wm->info.lDiskOffset is synchronized with wm->info.lBufOffset and so 
wm->info.lDiskOffset contains the correct current file position. The 
test for mmio still passes with this patch.

-Matthew D'Asaro
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-mmio-Do-not-zero-the-current-file-position-when-ever-mmioSetBuffer-is.txt

More information about the wine-patches mailing list