Christian Costa : dmusic: Use static variables for instrument header and id instead of using pointer .
Alexandre Julliard
julliard at winehq.org
Fri Dec 21 11:05:21 CST 2012
Module: wine
Branch: master
Commit: 898c2954e012d1e70b692ddb07f551c4128b6e0e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=898c2954e012d1e70b692ddb07f551c4128b6e0e
Author: Christian Costa <titan.costa at gmail.com>
Date: Fri Dec 21 10:27:46 2012 +0100
dmusic: Use static variables for instrument header and id instead of using pointer.
---
dlls/dmusic/collection.c | 20 +++++++++-----------
dlls/dmusic/dmusic_private.h | 4 ++--
dlls/dmusic/instrument.c | 6 +++---
3 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/dlls/dmusic/collection.c b/dlls/dmusic/collection.c
index 5002c9e..e30f89d 100644
--- a/dlls/dmusic/collection.c
+++ b/dlls/dmusic/collection.c
@@ -662,7 +662,7 @@ static HRESULT WINAPI IDirectMusicCollectionImpl_IPersistStream_Load(LPPERSISTST
LPDMUS_PRIVATE_INSTRUMENTENTRY new_instrument = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DMUS_PRIVATE_INSTRUMENTENTRY));
TRACE_(dmfile)(": instrument list\n");
/* Only way to create this one... even M$ does it discretely */
- DMUSIC_CreateDirectMusicInstrumentImpl(&IID_IDirectMusicInstrument, (LPVOID*)&new_instrument->pInstrument, NULL);
+ DMUSIC_CreateDirectMusicInstrumentImpl(&IID_IDirectMusicInstrument, (void**)&new_instrument->pInstrument, NULL);
{
IDirectMusicInstrumentImpl *instrument = impl_from_IDirectMusicInstrument(new_instrument->pInstrument);
/* Store offset and length, they will be needed when loading the instrument */
@@ -677,14 +677,12 @@ static HRESULT WINAPI IDirectMusicCollectionImpl_IPersistStream_Load(LPPERSISTST
switch (chunk.fccID) {
case FOURCC_INSH: {
TRACE_(dmfile)(": instrument header chunk\n");
- instrument->pHeader = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, chunk.dwSize);
- IStream_Read(stream, instrument->pHeader, chunk.dwSize, NULL);
+ IStream_Read(stream, &instrument->header, chunk.dwSize, NULL);
break;
}
case FOURCC_DLID: {
TRACE_(dmfile)(": DLID (GUID) chunk\n");
- instrument->pInstrumentID = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, chunk.dwSize);
- IStream_Read(stream, instrument->pInstrumentID, chunk.dwSize, NULL);
+ IStream_Read(stream, &instrument->id, chunk.dwSize, NULL);
break;
}
case FOURCC_LIST: {
@@ -712,14 +710,14 @@ static HRESULT WINAPI IDirectMusicCollectionImpl_IPersistStream_Load(LPPERSISTST
/* DEBUG: dumps whole instrument object tree: */
if (TRACE_ON(dmusic)) {
TRACE("*** IDirectMusicInstrument (%p) ***\n", instrument);
- if (instrument->pInstrumentID)
- TRACE(" - GUID = %s\n", debugstr_dmguid(instrument->pInstrumentID));
+ if (!IsEqualGUID(&instrument->id, &GUID_NULL))
+ TRACE(" - GUID = %s\n", debugstr_dmguid(&instrument->id));
TRACE(" - Instrument header:\n");
- TRACE(" - cRegions: %d\n", instrument->pHeader->cRegions);
+ TRACE(" - cRegions: %d\n", instrument->header.cRegions);
TRACE(" - Locale:\n");
- TRACE(" - ulBank: %d\n", instrument->pHeader->Locale.ulBank);
- TRACE(" - ulInstrument: %d\n", instrument->pHeader->Locale.ulInstrument);
- TRACE(" => dwPatch: %d\n", MIDILOCALE2Patch(&instrument->pHeader->Locale));
+ TRACE(" - ulBank: %d\n", instrument->header.Locale.ulBank);
+ TRACE(" - ulInstrument: %d\n", instrument->header.Locale.ulInstrument);
+ TRACE(" => dwPatch: %d\n", MIDILOCALE2Patch(&instrument->header.Locale));
}
list_add_tail(&This->Instruments, &new_instrument->entry);
}
diff --git a/dlls/dmusic/dmusic_private.h b/dlls/dmusic/dmusic_private.h
index a37a1c3..3e5c6c2 100644
--- a/dlls/dmusic/dmusic_private.h
+++ b/dlls/dmusic/dmusic_private.h
@@ -238,8 +238,8 @@ struct IDirectMusicInstrumentImpl {
/* IDirectMusicInstrumentImpl fields */
LARGE_INTEGER liInstrumentPosition; /* offset in a stream where instrument chunk can be found */
ULONG length; /* Length of the instrument in the stream */
- LPGUID pInstrumentID;
- LPINSTHEADER pHeader;
+ GUID id;
+ INSTHEADER header;
WCHAR wszName[DMUS_MAX_NAME];
/* instrument data */
BOOL loaded;
diff --git a/dlls/dmusic/instrument.c b/dlls/dmusic/instrument.c
index 13d0c2f..d6de0db 100644
--- a/dlls/dmusic/instrument.c
+++ b/dlls/dmusic/instrument.c
@@ -92,7 +92,7 @@ static HRESULT WINAPI IDirectMusicInstrumentImpl_GetPatch(LPDIRECTMUSICINSTRUMEN
TRACE("(%p)->(%p)\n", This, pdwPatch);
- *pdwPatch = MIDILOCALE2Patch(&This->pHeader->Locale);
+ *pdwPatch = MIDILOCALE2Patch(&This->header.Locale);
return S_OK;
}
@@ -103,7 +103,7 @@ static HRESULT WINAPI IDirectMusicInstrumentImpl_SetPatch(LPDIRECTMUSICINSTRUMEN
TRACE("(%p)->(%d): stub\n", This, dwPatch);
- Patch2MIDILOCALE(dwPatch, &This->pHeader->Locale);
+ Patch2MIDILOCALE(dwPatch, &This->header.Locale);
return S_OK;
}
@@ -264,7 +264,7 @@ HRESULT IDirectMusicInstrumentImpl_CustomLoad(IDirectMusicInstrument *iface, ISt
return DMUS_E_UNSUPPORTED_STREAM;
}
- This->regions = HeapAlloc(GetProcessHeap(), 0, sizeof(*This->regions) * This->pHeader->cRegions);
+ This->regions = HeapAlloc(GetProcessHeap(), 0, sizeof(*This->regions) * This->header.cRegions);
if (!This->regions)
return E_OUTOFMEMORY;
More information about the wine-cvs
mailing list