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

Adam Martinson amartinson at codeweavers.com
Mon Jun 6 09:34:04 CDT 2011

On 06/03/2011 03:29 PM, Adam Martinson wrote:
> 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.
I'm sure this isn't a surprise, but looks like my premise was wrong: 
Since Windows doesn't figure it out I guess we don't need to either xD  
We can probably use the same workaround as for Photoshop 4 in 3/3.

More information about the wine-devel mailing list