[PATCH 4/6 v3] gdiplus: Store newer gdi+ version in created GdipRegions

Piotr Caban piotr.caban at gmail.com
Mon Jul 17 17:17:37 CDT 2017


On 07/17/17 22:33, Vincent Povirk wrote:
> It'd be very surprising to me if native does this and also requires a
> recognized version number, as that would break compatibility with 1.0
> for no good reason.
> 
> Based on the spec, they might only be checking the top 20 bits.
I'm not sure what you expect me to do. I'm not adding any new checks for 
version field in this patch (I'm actually making one check less strict 
so we can load region data generated by newer gdi+). I also don't think 
that native makes exact version check.

Here's what was tested:
  - on win 7 - VERSION_MAGIC2 is used when creating region data in 
GdipGetRegionData
  - on win xp - VERSION_MAGIC1 is used in this case

Win XP and win 7 are successfully loading data generated on other OS (so 
win XP loads VERSION_MAGIC2 data).

Both systems are refusing to load the data if checksum is not set 
correctly (using GdipCreateRegionRgnData). Because of that both systems 
fail to load data generated by wine. Also because of that we can't add 
test with various values of version magic without generating the 
checksum properly.

Thanks,
Piotr



More information about the wine-devel mailing list