[2/3] kernel32/heap: Fix some hacks in GlobalMemoryStatus(). (try 2)

Adam Martinson amartinson at codeweavers.com
Fri Jun 3 15:29:00 CDT 2011

On 06/03/2011 03:06 PM, Alexandre Julliard wrote:
> Adam Martinson<amartinson at codeweavers.com>  writes:
>> On 06/03/2011 01:33 PM, Dmitry Timoshkov wrote:
>>> Adam Martinson<amartinson at codeweavers.com>   wrote:
>>>> The issue is that Dragon NaturallySpeaking 7 setup doesn't have the
>>>> IMAGE_FILE_LARGE_ADDRESS_AWARE flag set, but it uses InstallShield 6 as
>>>> a child process, which does have it set.  IS6 calls GlobalMemoryStatus()
>>>> and passes the data back to DNS7 setup, and if you have more than 2GB
>>>> RAM DNS7 setup thinks you have negative memory.  Windows figures this
>>>> out and rounds to 2GB, Wine does not.
>>> I'd suggest to write some tests and try to understand what does Windows
>>> and at which step.
>> I don't know of any way to do this with the current testing framework,
>> and I think the apps that require it (DNS7 is the only one I know of)
>> give us a clear enough picture.  If there are other apps that need
>> specific things out of this kind of behavior then I'll try to figure
>> out some way to incorporate it in the tests.
> There's absolutely no reason for that flag to be inherited across
> processes. You can't just try things at random until they happen to fix
> your app, particularly not when the result is such a horrible mess. That
> should be a hint that there's something wrong with your hypothesis.
Alright, I'll do some more research before going further.

More information about the wine-devel mailing list