[PATCH 3/6] dmusic: The object class is immutable in a DirectMusicObject.
Michael Stefaniuc
mstefani at redhat.de
Sun Jan 5 16:48:46 CST 2014
---
dlls/dmusic/collection.c | 11 ++++++++---
1 file 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)
--
1.8.3.1
More information about the wine-patches
mailing list