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.
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