[1/3] kernel32/heap: Emulate Win9x if appropriate in GlobalMemoryStatusEx(). (try 2)
amartinson at codeweavers.com
Mon Jun 6 10:41:32 CDT 2011
On 06/06/2011 10:23 AM, Juan Lang wrote:
> 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.
I'm removing part of the comment because it no longer applies. We're
not just using the XP behavior for everything anymore, now we're using
the 9x behavior when it's appropriate.
> 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?
if (osver.dwMajorVersion >= 5 || osver.dwPlatformId ==
would be equivalent. The stuff in that block is only for NT/2k+. In 9x
more we *don't* do that.
More information about the wine-devel