Michael Stefaniuc : dmusic: The object class is immutable in a DirectMusicObject.

Alexandre Julliard julliard at winehq.org
Mon Jan 6 14:47:12 CST 2014


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

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Sun Jan  5 23:48:46 2014 +0100

dmusic: The object class is immutable in a DirectMusicObject.

---

 dlls/dmusic/collection.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/dlls/dmusic/collection.c b/dlls/dmusic/collection.c
index cbcc082..a519b2a 100644
--- a/dlls/dmusic/collection.c
+++ b/dlls/dmusic/collection.c
@@ -189,7 +189,9 @@ static HRESULT WINAPI IDirectMusicCollectionImpl_IDirectMusicObject_GetDescripto
 
 static HRESULT WINAPI IDirectMusicCollectionImpl_IDirectMusicObject_SetDescriptor(LPDIRECTMUSICOBJECT iface, LPDMUS_OBJECTDESC pDesc)
 {
-    IDirectMusicCollectionImpl *This = impl_from_IDirectMusicObject(iface);
+        IDirectMusicCollectionImpl *This = impl_from_IDirectMusicObject(iface);
+        HRESULT ret = S_OK;
+
 
 	TRACE("(%p, %p)\n", iface, pDesc);
 
@@ -206,7 +208,10 @@ static HRESULT WINAPI IDirectMusicCollectionImpl_IDirectMusicObject_SetDescripto
 	if (pDesc->dwValidData & DMUS_OBJ_OBJECT)
 		This->pDesc->guidObject = pDesc->guidObject;
 	if (pDesc->dwValidData & DMUS_OBJ_CLASS)
-		This->pDesc->guidClass = pDesc->guidClass;
+        {
+                pDesc->dwValidData &= ~DMUS_OBJ_CLASS;
+                ret = S_FALSE;
+        }
 	if (pDesc->dwValidData & DMUS_OBJ_NAME)
                lstrcpynW(This->pDesc->wszName, pDesc->wszName, DMUS_MAX_NAME);
 	if (pDesc->dwValidData & DMUS_OBJ_CATEGORY)
@@ -229,7 +234,7 @@ static HRESULT WINAPI IDirectMusicCollectionImpl_IDirectMusicObject_SetDescripto
 	/* add new flags */
 	This->pDesc->dwValidData |= pDesc->dwValidData;
 
-	return S_OK;
+        return ret;
 }
 
 static HRESULT read_from_stream(IStream *stream, void *data, ULONG size)




More information about the wine-cvs mailing list