[PATCH v3 4/4] quartz/systemclock: Use the global HeapAlloc() wrappers.
Zebediah Figura
z.figura12 at gmail.com
Thu Mar 14 12:12:21 CDT 2019
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/quartz/quartz_private.h | 1 +
dlls/quartz/systemclock.c | 47 ++++++++++++++++--------------------
2 files changed, 22 insertions(+), 26 deletions(-)
diff --git a/dlls/quartz/quartz_private.h b/dlls/quartz/quartz_private.h
index be31c92946..2104f806f7 100644
--- a/dlls/quartz/quartz_private.h
+++ b/dlls/quartz/quartz_private.h
@@ -31,6 +31,7 @@
#include "winuser.h"
#include "dshow.h"
#include "wine/debug.h"
+#include "wine/heap.h"
#include "wine/strmbase.h"
#include "wine/list.h"
diff --git a/dlls/quartz/systemclock.c b/dlls/quartz/systemclock.c
index c809ce4bfc..e9f13b5130 100644
--- a/dlls/quartz/systemclock.c
+++ b/dlls/quartz/systemclock.c
@@ -122,7 +122,7 @@ static DWORD WINAPI SystemClockAdviseThread(LPVOID lpParam) {
SetEvent(it->hEvent);
/** ... and Release it */
QUARTZ_RemoveAviseEntryFromQueue(This, it);
- CoTaskMemFree(it);
+ heap_free(it);
it = nextit;
}
if (NULL != it) timeOut = (DWORD) ((it->rtBaseTime + it->rtIntervalTime) - curTime) / (REFERENCE_TIME)10000;
@@ -234,7 +234,7 @@ static ULONG WINAPI SystemClockImpl_Release(IReferenceClock* iface) {
}
This->safe.DebugInfo->Spare[0] = 0;
DeleteCriticalSection(&This->safe);
- CoTaskMemFree(This);
+ heap_free(This);
}
return ref;
}
@@ -279,11 +279,9 @@ static HRESULT WINAPI SystemClockImpl_AdviseTime(IReferenceClock* iface, REFEREN
if (NULL == pdwAdviseCookie) {
return E_POINTER;
}
- pEntry = CoTaskMemAlloc(sizeof(SystemClockAdviseEntry));
- if (NULL == pEntry) {
+
+ if (!(pEntry = heap_alloc_zero(sizeof(*pEntry))))
return E_OUTOFMEMORY;
- }
- ZeroMemory(pEntry, sizeof(SystemClockAdviseEntry));
pEntry->hEvent = (HANDLE) hEvent;
pEntry->rtBaseTime = rtBaseTime + rtStreamTime;
@@ -315,11 +313,9 @@ static HRESULT WINAPI SystemClockImpl_AdvisePeriodic(IReferenceClock* iface, REF
if (NULL == pdwAdviseCookie) {
return E_POINTER;
}
- pEntry = CoTaskMemAlloc(sizeof(SystemClockAdviseEntry));
- if (NULL == pEntry) {
+
+ if (!(pEntry = heap_alloc_zero(sizeof(*pEntry))))
return E_OUTOFMEMORY;
- }
- ZeroMemory(pEntry, sizeof(SystemClockAdviseEntry));
pEntry->hEvent = (HANDLE) hSemaphore;
pEntry->rtBaseTime = rtStartTime;
@@ -355,7 +351,7 @@ static HRESULT WINAPI SystemClockImpl_Unadvise(IReferenceClock* iface, DWORD_PTR
}
QUARTZ_RemoveAviseEntryFromQueue(This, pEntry);
- CoTaskMemFree(pEntry);
+ heap_free(pEntry);
SystemClockPostMessageToAdviseThread(This, ADVISE_REMOVE);
@@ -375,23 +371,22 @@ static const IReferenceClockVtbl SystemClock_Vtbl =
SystemClockImpl_Unadvise
};
-HRESULT QUARTZ_CreateSystemClock(IUnknown * pUnkOuter, LPVOID * ppv) {
- SystemClockImpl* obj = NULL;
-
- TRACE("(%p,%p)\n", ppv, pUnkOuter);
+HRESULT QUARTZ_CreateSystemClock(IUnknown *outer, void **out)
+{
+ SystemClockImpl *object;
- obj = CoTaskMemAlloc(sizeof(SystemClockImpl));
- if (NULL == obj) {
- *ppv = NULL;
- return E_OUTOFMEMORY;
- }
- ZeroMemory(obj, sizeof(SystemClockImpl));
+ TRACE("outer %p, out %p.\n", outer, out);
+
+ if (!(object = heap_alloc_zero(sizeof(*object))))
+ {
+ *out = NULL;
+ return E_OUTOFMEMORY;
+ }
- obj->IReferenceClock_iface.lpVtbl = &SystemClock_Vtbl;
- obj->ref = 0; /* will be inited by QueryInterface */
+ object->IReferenceClock_iface.lpVtbl = &SystemClock_Vtbl;
- InitializeCriticalSection(&obj->safe);
- obj->safe.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": SystemClockImpl.safe");
+ InitializeCriticalSection(&object->safe);
+ object->safe.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": SystemClockImpl.safe");
- return SystemClockImpl_QueryInterface(&obj->IReferenceClock_iface, &IID_IReferenceClock, ppv);
+ return SystemClockImpl_QueryInterface(&object->IReferenceClock_iface, &IID_IReferenceClock, out);
}
--
2.20.1
More information about the wine-devel
mailing list