Alistair Leslie-Hughes : dmime: Reimplement IDirectMusicAudioPath Activate.

Alexandre Julliard julliard at winehq.org
Thu Mar 26 16:27:25 CDT 2020


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

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Thu Mar 26 19:09:26 2020 +0100

dmime: Reimplement IDirectMusicAudioPath Activate.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dmime/audiopath.c | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/dlls/dmime/audiopath.c b/dlls/dmime/audiopath.c
index 1aadba92ae..078d843d46 100644
--- a/dlls/dmime/audiopath.c
+++ b/dlls/dmime/audiopath.c
@@ -216,21 +216,23 @@ static HRESULT WINAPI IDirectMusicAudioPathImpl_GetObjectInPath (IDirectMusicAud
 	return E_INVALIDARG;
 }
 
-static HRESULT WINAPI IDirectMusicAudioPathImpl_Activate (IDirectMusicAudioPath *iface, BOOL fActivate)
+static HRESULT WINAPI IDirectMusicAudioPathImpl_Activate(IDirectMusicAudioPath *iface, BOOL activate)
 {
-  struct IDirectMusicAudioPathImpl *This = impl_from_IDirectMusicAudioPath(iface);
-  FIXME("(%p, %d): stub\n", This, fActivate);
-  if (!fActivate) {
-    if (!This->fActive) return S_OK;
-    This->fActive = FALSE;
-  } else {
-    if (This->fActive) return S_OK;
-    This->fActive = TRUE;
-    if (NULL != This->pDSBuffer) {
-      IDirectSoundBuffer_Stop(This->pDSBuffer);
+    struct IDirectMusicAudioPathImpl *This = impl_from_IDirectMusicAudioPath(iface);
+
+    FIXME("(%p, %d): semi-stub\n", This, activate);
+
+    if (!!activate == This->fActive)
+        return S_FALSE;
+
+    if (!activate && This->pDSBuffer) {
+        /* Path is being deactivated */
+        IDirectSoundBuffer_Stop(This->pDSBuffer);
     }
-  }
-  return S_OK;
+
+    This->fActive = !!activate;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI IDirectMusicAudioPathImpl_SetVolume (IDirectMusicAudioPath *iface, LONG lVolume, DWORD dwDuration)




More information about the wine-cvs mailing list