ReAlloc should be able to move memory blocks if necessary. This fixes some problems I ran into: syslink control, and dynamically adding property sheets with PropSheet_AddPage/PSM_ADDPAGE. This patch was submitted to wine-patches.
Modified: trunk/reactos/lib/comctl32/comctl32undoc.c
--- trunk/reactos/lib/comctl32/comctl32undoc.c 2005-12-28 19:54:07 UTC (rev 20401) +++ trunk/reactos/lib/comctl32/comctl32undoc.c 2005-12-28 20:06:35 UTC (rev 20402) @@ -96,7 +96,7 @@
LPVOID WINAPI ReAlloc (LPVOID lpSrc, DWORD dwSize) { if (lpSrc)
- return LocalReAlloc( lpSrc, dwSize, LMEM_ZEROINIT );
+ return LocalReAlloc( lpSrc, dwSize, LMEM_ZEROINIT | LMEM_MOVEABLE );
else return LocalAlloc( LMEM_ZEROINIT, dwSize); }