From: Brendan Shanks bshanks@codeweavers.com
--- dlls/kernel32/heap.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c index a2910688e44..7e860748412 100644 --- a/dlls/kernel32/heap.c +++ b/dlls/kernel32/heap.c @@ -68,11 +68,13 @@ static inline HANDLE HEAP_CreateSystemHeap(void) 0, SYSTEM_HEAP_SIZE, "__wine_system_heap" ))) return 0; created = (GetLastError() != ERROR_ALREADY_EXISTS);
- if (!(base = MapViewOfFileEx( map, FILE_MAP_ALL_ACCESS, 0, 0, 0, SYSTEM_HEAP_BASE ))) + base = MapViewOfFileEx( map, FILE_MAP_ALL_ACCESS, 0, 0, 0, SYSTEM_HEAP_BASE ); + if (!base) { - /* pre-defined address not available */ - ERR( "system heap base address %p not available\n", SYSTEM_HEAP_BASE ); - return 0; + /* pre-defined address not available, map anywhere */ + WARN( "system heap base address %p not available\n", SYSTEM_HEAP_BASE ); + if (!(base = MapViewOfFileEx( map, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL ))) + return 0; }
if (created) /* newly created heap */