user32: BM_SETSTATE handler needs to repaint the button including focus rectangle.
Dmitry Timoshkov
dmitry at codeweavers.com
Tue Apr 13 22:34:47 CDT 2010
Alexandre Julliard <julliard at winehq.org> wrote:
> > While playing with the button painting bug I noticed that the button doesn't
> > repaint its focus when you hold mouse button and move it outside and then back
> > to the button.
>
> It looks to me that you should fix the push button paint routine,
> instead of changing the notification type.
Do you mean that the push button paint proc should be changed to paint focus rect
in the case of ODA_SELECT as well as ODA_DRAWENTIRE? I didn't want to do that because
all button painting procs have similar logic for drawing the focus, and it seemed
safe enough to change ODA_SELECT to ODA_DRAWENTIRE in the BM_SETSTATE handler.
I see now that UB_Paint relies on ODA_SELECT, and perhaps ODA_SELECT should be
passed to BS_USERBUTTON, and ODA_DRAWENTIRE to everyone else for BM_SETSTATE.
--
Dmitry.
More information about the wine-devel
mailing list