[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