[PATCH] kernel32: Limit dwTotalPageFile in GlobalMemoryStatus for apps that do not expect so much memory. Remove last 512 kb to make Sacrifice demo happy.

Christian Costa titan.costa at gmail.com
Thu Mar 29 01:54:39 CDT 2012


---
 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;




More information about the wine-patches mailing list