Fabian Bieler : kernel32: GlobalMemoryStatusEx: return the size of physical memory + swapsize in ullTotalPageFile/ ullAvailPageFile.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Mar 15 08:19:24 CDT 2007


Module: wine
Branch: master
Commit: e1c6c97fc5054cd500d5e9ef8edab6f61f5f53f8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e1c6c97fc5054cd500d5e9ef8edab6f61f5f53f8

Author: Fabian Bieler <der.fabe at gmx.net>
Date:   Thu Mar 15 00:21:25 2007 +0100

kernel32: GlobalMemoryStatusEx: return the size of physical memory + swapsize in ullTotalPageFile/ullAvailPageFile.

---

 dlls/kernel32/heap.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c
index d311d1f..df6a3c6 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);




More information about the wine-cvs mailing list