On Sat, Jul 17, 2010 at 11:32 PM, Dmitry Timoshkov dmitry@codeweavers.comwrote:
Testing other values besides 0 would be helpful, in particular values like sizeof(class) - 1 and sizeof(class) + 1. Did you inspect all the places in Wine which call RegisterClassEx()? Also, GetClassInfoEx() in Wine is an obvious offender, and this needs a test (and a fix) too.
I checked all calls to RegisterClassEx and submitted patches that got
accepted before the end of the code freeze.
I just checked sizeof(class) - 1 and sizeof(class) + 1 on Windows XP and they also fail. Surprisingly I found that GetClassInfoEx didn't touch cbSize (e.g. 0 stays 0, 0xdeadbeef stays 0xdeadbeef). I also checked the unicode version of GetClassInfoEx and RegisterClassEx, and both have the same behaviour.
Thanks for the advice. I'll add the tests for GetClassInfoEx.