user32: CallWindowProc[AW] for mismatched built-in winprocs should take into account if the window is Unicode (with testcase, fixes bug #9198)

Mikołaj Zalewski mikolaj at
Wed Aug 8 22:45:58 CDT 2007

>>     static const char classA[] = "deftest";
>>     static const WCHAR classW[] = {'d','e','f','t','e','s','t',0};
>> +    WCHAR unistring[] = {0x142, 0x40e, 0x3b4, 0};  /* a string that 
>> would be destoryed by a W->A->W conversion */
> Any other string should work just fine. In the current form the test 
> will fail
> for some locales.

  It will work as this string is never converted to ANSI. On the other 
hand if there is a conversion to ANSI I expect it to fail on any locale 
as the characters are chosen each from a different script. And that's 
why this string was chosen - to show that we shouldn't try to convert 
the result of the ANSI function but call the wide function directly.
  As for the other suggestions I'll send soon an improved patch.

Mikolaj Zalewski

More information about the wine-devel mailing list