From: Brendan Shanks <bshanks(a)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 */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/920