Michael Stefaniuc : dsound: Fix mixup between HWAVEOUT and HWAVEIN.

Alexandre Julliard julliard at winehq.org
Wed Jan 28 08:03:05 CST 2009


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

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Wed Jan 28 01:06:57 2009 +0100

dsound: Fix mixup between HWAVEOUT and HWAVEIN.

The code path is taken when a valid wod isn't found. The loop thus
doesn't call waveInMessage() for each wid but retries the same wrong
wod.

---

 dlls/dsound/propset.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/dsound/propset.c b/dlls/dsound/propset.c
index 43caa63..00a3120 100644
--- a/dlls/dsound/propset.c
+++ b/dlls/dsound/propset.c
@@ -543,14 +543,14 @@ static HRESULT DSPROPERTY_Description1(
                     ppd->DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
                     ppd->WaveDeviceId = wid;
                     ppd->Devnode = wid;
-                    err = mmErr(waveInMessage((HWAVEIN)wod,DRV_QUERYDSOUNDDESC,(DWORD_PTR)&(desc),0));
+                    err = mmErr(waveInMessage((HWAVEIN)wid,DRV_QUERYDSOUNDDESC,(DWORD_PTR)&(desc),0));
                     if (err == DS_OK) {
                         PIDSDRIVER drv = NULL;
                         lstrcpynA(ppd->DescriptionA, desc.szDesc, sizeof(ppd->DescriptionA));
                         lstrcpynA(ppd->ModuleA, desc.szDrvname, sizeof(ppd->ModuleA));
                         MultiByteToWideChar( CP_ACP, 0, desc.szDesc, -1, ppd->DescriptionW, sizeof(ppd->DescriptionW)/sizeof(WCHAR) );
                         MultiByteToWideChar( CP_ACP, 0, desc.szDrvname, -1, ppd->ModuleW, sizeof(ppd->ModuleW)/sizeof(WCHAR) );
-                        err = mmErr(waveInMessage((HWAVEIN)wod, DRV_QUERYDSOUNDIFACE, (DWORD_PTR)&drv, 0));
+                        err = mmErr(waveInMessage((HWAVEIN)wid, DRV_QUERYDSOUNDIFACE, (DWORD_PTR)&drv, 0));
                         if (err == DS_OK && drv)
                             ppd->Type = DIRECTSOUNDDEVICE_TYPE_VXD;
                         else




More information about the wine-cvs mailing list