From e1c6c97fc5054cd500d5e9ef8edab6f61f5f53f8 Mon Sep 17 00:00:00 2001 From: Fabian Bieler Date: Thu, 15 Mar 2007 00:21:25 +0100 Subject: [PATCH] kernel32: GlobalMemoryStatusEx: return the size of physical memory + swapsize in ullTotalPageFile/ullAvailPageFile. --- dlls/kernel32/heap.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c index d311d1f2a0..df6a3c680d 100644 --- a/dlls/kernel32/heap.c +++ b/dlls/kernel32/heap.c @@ -1304,11 +1304,13 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpmemex ) / (lpmemex->ullTotalPhys / 100); } - /* Project2k refuses to start if it sees less than 1Mb of free swap */ - if (lpmemex->ullTotalPageFile < lpmemex->ullTotalPhys) - lpmemex->ullTotalPageFile = lpmemex->ullTotalPhys; - if (lpmemex->ullAvailPageFile < lpmemex->ullAvailPhys) - lpmemex->ullAvailPageFile = lpmemex->ullAvailPhys; + /* Win98 returns only the swapsize in ullTotalPageFile/ullAvailPageFile, + WinXP returns the size of physical memory + swapsize; + mimic the behavior of XP. + Note: Project2k refuses to start if it sees less than 1Mb of free swap. + */ + lpmemex->ullTotalPageFile += lpmemex->ullTotalPhys; + lpmemex->ullAvailPageFile += lpmemex->ullAvailPhys; /* FIXME: should do something for other systems */ GetSystemInfo(&si); -- 2.32.0.93.g670b81a890