Module: wine Branch: master Commit: 8939587b19027f6582340ef42099b594459dfdec URL: http://source.winehq.org/git/wine.git/?a=commit;h=8939587b19027f6582340ef420...
Author: Mike McCormack mike@codeweavers.com Date: Tue Oct 24 14:26:28 2006 +0900
riched20: Create macro functions for allocating and freeing memory.
---
dlls/riched20/clipboard.c | 8 ++++---- dlls/riched20/editor.c | 4 ++-- dlls/riched20/editor.h | 24 ++++++++++++++++++++---- dlls/riched20/reader.c | 20 +++----------------- dlls/riched20/richole.c | 4 ++-- 5 files changed, 31 insertions(+), 29 deletions(-)
diff --git a/dlls/riched20/clipboard.c b/dlls/riched20/clipboard.c index 3bb8b7b..99d9503 100644 --- a/dlls/riched20/clipboard.c +++ b/dlls/riched20/clipboard.c @@ -77,7 +77,7 @@ static ULONG WINAPI EnumFormatImpl_Relea
if(!ref) { GlobalFree(This->fmtetc); - HeapFree(GetProcessHeap(), 0, This); + richedit_free(This); }
return ref; @@ -152,7 +152,7 @@ static HRESULT EnumFormatImpl_Create(FOR EnumFormatImpl *ret; TRACE("\n");
- ret = HeapAlloc(GetProcessHeap(), 0, sizeof(EnumFormatImpl)); + ret = richedit_alloc(sizeof(EnumFormatImpl)); ret->lpVtbl = &VT_EnumFormatImpl; ret->ref = 1; ret->cur = 0; @@ -195,7 +195,7 @@ static ULONG WINAPI DataObjectImpl_Relea if(This->unicode) GlobalFree(This->unicode); if(This->rtf) GlobalFree(This->rtf); if(This->fmtetc) GlobalFree(This->fmtetc); - HeapFree(GetProcessHeap(), 0, This); + richedit_free(This); }
return ref; @@ -388,7 +388,7 @@ HRESULT ME_GetDataObject(ME_TextEditor * DataObjectImpl *obj; TRACE("(%p,%d,%d)\n", editor, lpchrg->cpMin, lpchrg->cpMax);
- obj = HeapAlloc(GetProcessHeap(), 0, sizeof(DataObjectImpl)); + obj = richedit_alloc(sizeof(DataObjectImpl)); if(cfRTF == 0) cfRTF = RegisterClipboardFormatA("Rich Text Format");
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 0969787..93aed91 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -1998,7 +1998,7 @@ LRESULT WINAPI RichEditANSIWndProc(HWND /* potentially each char may be a CR, why calculate the exact value with O(N) when we can just take a bigger buffer? :) */ int crlfmul = (ex->flags & GT_USECRLF) ? 2 : 1; - LPWSTR buffer = HeapAlloc(GetProcessHeap(), 0, (crlfmul*nCount + 1) * sizeof(WCHAR)); + LPWSTR buffer = richedit_alloc((crlfmul*nCount + 1) * sizeof(WCHAR)); DWORD buflen = ex->cb; LRESULT rc; DWORD flags = 0; @@ -2006,7 +2006,7 @@ LRESULT WINAPI RichEditANSIWndProc(HWND buflen = ME_GetTextW(editor, buffer, nStart, nCount, ex->flags & GT_USECRLF); rc = WideCharToMultiByte(ex->codepage, flags, buffer, -1, (LPSTR)lParam, ex->cb, ex->lpDefaultChar, ex->lpUsedDefaultChar);
- HeapFree(GetProcessHeap(),0,buffer); + richedit_free(buffer); return rc; } } diff --git a/dlls/riched20/editor.h b/dlls/riched20/editor.h index bb3be88..87742c5 100644 --- a/dlls/riched20/editor.h +++ b/dlls/riched20/editor.h @@ -21,9 +21,26 @@ #include "editstr.h" #include "wine/unicode.h"
-#define ALLOC_OBJ(type) HeapAlloc(me_heap, 0, sizeof(type)) -#define ALLOC_N_OBJ(type, count) HeapAlloc(me_heap, 0, (count)*sizeof(type)) -#define FREE_OBJ(ptr) HeapFree(me_heap, 0, ptr) +extern HANDLE me_heap; + +static inline void *richedit_alloc( size_t len ) +{ + return HeapAlloc( me_heap, 0, len ); +} + +static inline BOOL richedit_free( void *ptr ) +{ + return HeapFree( me_heap, 0, ptr ); +} + +static inline void *richedit_realloc( void *ptr, size_t len ) +{ + return HeapReAlloc( me_heap, 0, ptr, len ); +} + +#define ALLOC_OBJ(type) richedit_alloc(sizeof(type)) +#define ALLOC_N_OBJ(type, count) richedit_alloc((count)*sizeof(type)) +#define FREE_OBJ(ptr) richedit_free(ptr)
#define RUN_IS_HIDDEN(run) ((run)->style->fmt.dwMask & CFM_HIDDEN \ && (run)->style->fmt.dwEffects & CFE_HIDDEN) @@ -264,7 +281,6 @@ ME_DisplayItem *ME_FindItemAtOffset(ME_T void ME_StreamInFill(ME_InStream *stream); int ME_AutoURLDetect(ME_TextEditor *editor, WCHAR curChar); extern int me_debug; -extern HANDLE me_heap; extern void DoWrap(ME_TextEditor *editor);
/* writer.c */ diff --git a/dlls/riched20/reader.c b/dlls/riched20/reader.c index f3a917c..b2fb444 100644 --- a/dlls/riched20/reader.c +++ b/dlls/riched20/reader.c @@ -86,17 +86,9 @@ static void RTFPutCodePageChar(RTF_Info * Return pointer to block of size bytes, or NULL if there's * not enough memory available. */ -static inline void *RTFAlloc(int size) -{ - return HeapAlloc(me_heap, 0, size); -} - - -static inline void * RTFReAlloc(void *ptr, int size) -{ - return HeapReAlloc(me_heap, 0, ptr, size); -} - +#define RTFAlloc(size) richedit_alloc(size) +#define RTFReAlloc(ptr, size) richedit_realloc(ptr, size) +#define RTFFree(ptr) richedit_free(ptr)
/* * Saves a string on the heap and returns a pointer to it. @@ -112,12 +104,6 @@ static inline char *RTFStrSave(char *s) }
-static inline void RTFFree(void *p) -{ - HeapFree(me_heap, 0, p); -} - - /* ---------------------------------------------------------------------- */
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c index 4601a1a..0585e43 100644 --- a/dlls/riched20/richole.c +++ b/dlls/riched20/richole.c @@ -112,7 +112,7 @@ IRichEditOle_fnRelease(IRichEditOle *me) if (!ref) { TRACE ("Destroying %p\n", This); - HeapFree(GetProcessHeap(),0,This); + richedit_free(This); } return ref; } @@ -529,7 +529,7 @@ LRESULT CreateIRichEditOle(ME_TextEditor { IRichEditOleImpl *reo;
- reo = HeapAlloc(GetProcessHeap(), 0, sizeof(IRichEditOleImpl)); + reo = richedit_alloc(sizeof(IRichEditOleImpl)); if (!reo) return 0;