Module: wine Branch: master Commit: d8822cf3d2708dccb3e04d72ddf73662e7992f85 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d8822cf3d2708dccb3e04d72dd...
Author: Christian Costa titan.costa@gmail.com Date: Tue Apr 10 22:04:30 2012 +0200
kernel32: Limit dwTotalPageFile in GlobalMemoryStatus to 4Gb minus 512kb for apps that do not expect so much memory.
---
dlls/kernel32/heap.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c index db21b7a..d730a8a 100644 --- a/dlls/kernel32/heap.c +++ b/dlls/kernel32/heap.c @@ -1305,7 +1305,7 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpmemex ) * roughly how much they are able to allocate * * RETURNS - * None + * None */ VOID WINAPI GlobalMemoryStatus( LPMEMORYSTATUS lpBuffer ) { @@ -1333,13 +1333,14 @@ VOID WINAPI GlobalMemoryStatus( LPMEMORYSTATUS lpBuffer ) { lpBuffer->dwTotalPhys = min( memstatus.ullTotalPhys, MAXDWORD ); lpBuffer->dwAvailPhys = min( memstatus.ullAvailPhys, MAXDWORD ); - lpBuffer->dwTotalPageFile = min( memstatus.ullTotalPageFile, MAXDWORD ); + /* Limit value for apps that do not expect so much memory. Remove last 512 kb to make Sacrifice demo happy. */ + lpBuffer->dwTotalPageFile = min( memstatus.ullTotalPageFile, 0xfff7ffff ); lpBuffer->dwAvailPageFile = min( memstatus.ullAvailPageFile, MAXDWORD ); lpBuffer->dwTotalVirtual = min( memstatus.ullTotalVirtual, MAXDWORD ); lpBuffer->dwAvailVirtual = min( memstatus.ullAvailVirtual, MAXDWORD );
} - else /* duplicate NT bug */ + else /* duplicate NT bug */ { lpBuffer->dwTotalPhys = memstatus.ullTotalPhys; lpBuffer->dwAvailPhys = memstatus.ullAvailPhys;