http://bugs.winehq.org/show_bug.cgi?id=7512
------- Additional Comments From mikolaj.zalewski@gmail.com 2007-19-07 13:59 ------- It seems the CallWindowProc[AW] has also such a protection for builtin winprocs - the following test passes:
WCHAR uni[] = {0x142, 0x40e, 0x3b4, 0}; hTestWnd = CreateWindowW(WC_EDITW, uni, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 680, 260, NULL, NULL, NULL, 0); CallWindowProcW(GetWindowLongPtrA(hTestWnd, GWLP_WNDPROC), hTestWnd, WM_GETTEXT, 120, buf); ok(memcmp(buf, uni, sizeof(uni)) == 0, "WM_GETTEXT invalid return\n"); DestroyWindow(hTestWnd);
Such a test for a custom winproc provided by a program fails.