[1/3] kernel32/heap: Emulate Win9x if appropriate in GlobalMemoryStatusEx(). (try 2)

Juan Lang juan.lang at gmail.com
Mon Jun 6 10:23:12 CDT 2011

Hi Adam,
perhaps I'm just being obtuse, but I don't see how Dmitry's comment
has been addressed for this patch.  I'm confused by the commit comment
("Emulate Win9x if appropriate") and the change itself:

     /* Win98 returns only the swapsize in ullTotalPageFile/ullAvailPageFile,
        WinXP returns the size of physical memory + swapsize;
-       mimic the behavior of XP.

You are removing the part of the comment explaining what the code
actually does, which I find confusing.  If you're part of the "the
code is the documentation" crowd, just remove the entire comment.  If
not, please add a brief explanation.

        Note: Project2k refuses to start if it sees less than 1Mb of free swap.
-    lpmemex->ullTotalPageFile += lpmemex->ullTotalPhys;
-    lpmemex->ullAvailPageFile += lpmemex->ullAvailPhys;
-    /* Titan Quest refuses to run if TotalPageFile <= ullTotalPhys */
-    if(lpmemex->ullTotalPageFile == lpmemex->ullTotalPhys)
+    if (osver.dwMajorVersion >= 5 || osver.dwPlatformId !=

This change is confusing to me.  dwPlatformId == VER_PLATFORM_WIN32_NT
for NT4, Win2k, XP, etc.  dwMajorVersion is never greater than 4 on
Windows 9x.  In other words, do you mean to exclude NT4 here, or not?
If so, then the first check should suffice.  If not, then the second
check should.  But in either case, what does this have to do with
being "appropriate" for Win9x emulation?

More information about the wine-devel mailing list