Jacek Caban : browseui: Code clean up.
Alexandre Julliard
julliard at winehq.org
Thu Feb 21 07:42:24 CST 2008
Module: wine
Branch: master
Commit: aac079a87d4d345e918a7e554f9f0a0596741307
URL: http://source.winehq.org/git/wine.git/?a=commit;h=aac079a87d4d345e918a7e554f9f0a0596741307
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Feb 20 21:29:39 2008 +0100
browseui: Code clean up.
---
dlls/browseui/aclmulti.c | 56 +++++++++++++++++++++------------------------
dlls/browseui/browseui.h | 17 +++++++++++++-
2 files changed, 42 insertions(+), 31 deletions(-)
diff --git a/dlls/browseui/aclmulti.c b/dlls/browseui/aclmulti.c
index 11ba3b1..95ede34 100644
--- a/dlls/browseui/aclmulti.c
+++ b/dlls/browseui/aclmulti.c
@@ -58,10 +58,6 @@ typedef struct tagACLMulti {
struct ACLMultiSublist *objs;
} ACLMulti;
-static const IEnumStringVtbl ACLMultiVtbl;
-static const IACListVtbl ACLMulti_ACListVtbl;
-static const IObjMgrVtbl ACLMulti_ObjMgrVtbl;
-
static inline ACLMulti *impl_from_IACList(IACList *iface)
{
return (ACLMulti *)((char *)iface - FIELD_OFFSET(ACLMulti, aclVtbl));
@@ -81,35 +77,14 @@ static void release_obj(struct ACLMultiSublist *obj)
IACList_Release(obj->pACL);
}
-HRESULT ACLMulti_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
-{
- ACLMulti *This;
- if (pUnkOuter)
- return CLASS_E_NOAGGREGATION;
-
- This = CoTaskMemAlloc(sizeof(ACLMulti));
- if (This == NULL)
- return E_OUTOFMEMORY;
- ZeroMemory(This, sizeof(*This));
- This->vtbl = &ACLMultiVtbl;
- This->aclVtbl = &ACLMulti_ACListVtbl;
- This->objmgrVtbl = &ACLMulti_ObjMgrVtbl;
- This->refCount = 1;
-
- TRACE("returning %p\n", This);
- *ppOut = (IUnknown *)This;
- BROWSEUI_refCount++;
- return S_OK;
-}
-
-static void WINAPI ACLMulti_Destructor(ACLMulti *This)
+static void ACLMulti_Destructor(ACLMulti *This)
{
int i;
TRACE("destroying %p\n", This);
for (i = 0; i < This->nObjs; i++)
release_obj(&This->objs[i]);
- CoTaskMemFree(This->objs);
- CoTaskMemFree(This);
+ heap_free(This->objs);
+ heap_free(This);
BROWSEUI_refCount--;
}
@@ -166,7 +141,7 @@ static HRESULT WINAPI ACLMulti_Append(IObjMgr *iface, IUnknown *obj)
if (obj == NULL)
return E_FAIL;
- This->objs = CoTaskMemRealloc(This->objs, sizeof(This->objs[0]) * (This->nObjs+1));
+ This->objs = heap_realloc(This->objs, sizeof(This->objs[0]) * (This->nObjs+1));
This->objs[This->nObjs].punk = obj;
IUnknown_AddRef(obj);
if (FAILED(IUnknown_QueryInterface(obj, &IID_IEnumString, (LPVOID *)&This->objs[This->nObjs].pEnum)))
@@ -189,7 +164,7 @@ static HRESULT WINAPI ACLMulti_Remove(IObjMgr *iface, IUnknown *obj)
release_obj(&This->objs[i]);
memmove(&This->objs[i], &This->objs[i+1], (This->nObjs-i-1)*sizeof(struct ACLMultiSublist));
This->nObjs--;
- This->objs = CoTaskMemRealloc(This->objs, sizeof(This->objs[0]) * This->nObjs);
+ This->objs = heap_realloc(This->objs, sizeof(This->objs[0]) * This->nObjs);
return S_OK;
}
@@ -328,3 +303,24 @@ static const IACListVtbl ACLMulti_ACListVtbl =
ACLMulti_Expand
};
+
+HRESULT ACLMulti_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
+{
+ ACLMulti *This;
+ if (pUnkOuter)
+ return CLASS_E_NOAGGREGATION;
+
+ This = heap_alloc(sizeof(ACLMulti));
+ if (This == NULL)
+ return E_OUTOFMEMORY;
+ ZeroMemory(This, sizeof(*This));
+ This->vtbl = &ACLMultiVtbl;
+ This->aclVtbl = &ACLMulti_ACListVtbl;
+ This->objmgrVtbl = &ACLMulti_ObjMgrVtbl;
+ This->refCount = 1;
+
+ TRACE("returning %p\n", This);
+ *ppOut = (IUnknown *)This;
+ BROWSEUI_refCount++;
+ return S_OK;
+}
diff --git a/dlls/browseui/browseui.h b/dlls/browseui/browseui.h
index fb46462..0b62009 100644
--- a/dlls/browseui/browseui.h
+++ b/dlls/browseui/browseui.h
@@ -30,4 +30,19 @@ extern HRESULT CompCatCacheDaemon_Constructor(IUnknown *punkOuter, IUnknown **pp
extern const GUID CLSID_CompCatCacheDaemon;
-#endif /* __WINE_SHDOCVW_H */
+static inline void *heap_alloc(size_t size)
+{
+ return HeapAlloc(GetProcessHeap(), 0, size);
+}
+
+static inline void *heap_realloc(void *mem, size_t size)
+{
+ return mem ? HeapReAlloc(GetProcessHeap(), 0, mem, size) : heap_alloc(size);
+}
+
+static inline BOOL heap_free(void *mem)
+{
+ return HeapFree(GetProcessHeap(), 0, mem);
+}
+
+#endif /* __WINE_BROWSEUI_H */
More information about the wine-cvs
mailing list