[PATCH] RE: user32: Problem using SetClassLongW to subclass built-in control (Edit)

Reece Dunn msclrhd at googlemail.com
Thu Jul 10 03:41:08 CDT 2008


2008/7/10 Hongbo Ni <hongbo_ni at hotmail.com>:
> I have write a patch for the problem, please comment.
> +        if( unicode && class->winproc == EDIT_winproc_handle )

Is it just the EDIT window procedure that is affected? I suspect that
this will apply to all classes that have A and W variants.

I also suspect that this is wrong. AFAICS, the class name Windows uses
is "EDIT", not "EDITA"/"EDITW"; the problem lies in SetWindowProc, so
it is likely you need to track both the A and W procs, selecting the
appropriate one depending on the variant of SetWindowProc is called.
CreateWindow would also need to select the correct one and
RegisterWindowClass would need to set the A and W variants initially.
However, I am not sure on this, so you need tests.

Also, this patch (when sent to the wine-patches list) will stand a
better chance of getting in if there are some tests to verify the
behaviour on Windows and deficiency in Wine.

You need to check what procs are returned when. Use your original
email as the basis for the test.

Thanks for improving Wine,
- Reece



More information about the wine-devel mailing list