http://bugs.winehq.org/show_bug.cgi?id=14350
--- Comment #4 from Hongbo Ni hongbo@njstar.com 2008-07-08 21:21:08 --- Sorry, above change is not working. Assertion fail for WINPROC_AllocProc((WNDPROC)newval,(WNDPROC)newval);
in /user32/winproc.c function alloc_winproc() -------------------------------------------------------- if (funcA && funcW) { assert( builtin_used < BUILTIN_WINPROCS ); <---------------- proc = &winproc_array[builtin_used++]; proc->procA = funcA; proc->procW = funcW; TRACE( "allocated %p for builtin %p/%p (%d/%d used)\n", proc_to_handle(proc), funcA, funcW, builtin_used, BUILTIN_WINPROCS ); } --------------------------------------------------------
It seems we can only assign procA and proW for built-in class at initial call registration.
I am still wonder how windows did this:
After Edit class is subclassed with a Unicode procW, how come the CreateWindowExA still create Edit window as ANSI.