[1/3] kernel32/heap: Emulate Win9x if appropriate in GlobalMemoryStatusEx(). (try 2)
Adam Martinson
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 !=
> VER_PLATFORM_WIN32_WINDOWS)
>
> 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?
> --Juan
if (osver.dwMajorVersion >= 5 || osver.dwPlatformId ==
VER_PLATFORM_WIN32_NT)
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
mailing list