bug 3514 fix (dsound primary buffer) needs fix?

Peter Berg Larsen pebl at math.ku.dk
Fri Nov 4 21:26:29 CST 2005


Hi,

The following patch

http://www.winehq.org/pipermail/wine-patches/2005-October/021269.html

fixes

http://bugs.winehq.org/show_bug.cgi?id=3514

but crashed Railroad tycoon, as it always sets device->primary->dsound to 
null when there are more than one user of the device.

The following patch fixes railroad tycoon; does it still fix bug 3514?

Peter

RCS file: /home/wine/wine/dlls/dsound/dsound.c,v
retrieving revision 1.42
diff -u -r1.42 dsound.c
--- dsound.c    19 Oct 2005 19:21:38 -0000      1.42
+++ dsound.c    5 Nov 2005 03:09:22 -0000
@@ -251,7 +251,7 @@
          if (This->device) {
              if (DirectSoundDevice_Release(This->device) != 0) {
                  /* device not released so make sure primary reference to This removed */
-                if (This->device->primary)
+                if (This->device->primary && This->device->primary->dsound == This)
                      This->device->primary->dsound = NULL;
              }
          }




More information about the wine-devel mailing list