[Bug 25790] New: WM_SETTEXT handler for the user32 buttons generates WM_CTLCOLOR* inconsistent with Windows user32
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Jan 16 03:36:16 CST 2011
http://bugs.winehq.org/show_bug.cgi?id=25790
Summary: WM_SETTEXT handler for the user32 buttons generates
WM_CTLCOLOR* inconsistent with Windows user32
Product: Wine
Version: 1.3.11
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: user32
AssignedTo: wine-bugs at winehq.org
ReportedBy: exclusion at gmail.com
Created an attachment (id=32868)
--> (http://bugs.winehq.org/attachment.cgi?id=32868)
Test source
Wine behavior when processing SetWindowText (WM_SETTEXT) doesn't exactly
replicate Windows regarding WM_CTLCOLOR* messages.
I found two inconsistencies and made the test (see attachments).
First inconsistency:
Windows doesn't generate WM_CTLCOLORSTATIC when WM_SETTEXT invoked for a
PushButton and alike. Instead it generate WM_CTLCOLORBTN.
In Windows I get:
DialogBox.WindowProc: before SetWindowText
DialogBox.WindowProc(WM_CTLCOLORBTN)
DialogBox.WindowProc(WM_CTLCOLORBTN)
DialogBox.WindowProc: after SetWindowText
In Wine:
DialogBox.WindowProc: before SetWindowText
DialogBox.WindowProc(WM_CTLCOLORSTATIC)
DialogBox.WindowProc(WM_CTLCOLORBTN)
DialogBox.WindowProc: after SetWindowText
Looking at http://msdn.microsoft.com/en-us/library/bb761849%28VS.85%29.aspx
(WM_CTLCOLORBTN Message) and http://support.microsoft.com/kb/130952/en-us?fr=1
I believe that the WM_SETTEXT handler for BS_PUSHBUTTON, BS_DEFPUSHBUTTON and
BS_PUSHLIKE should get the hbrush with the WM_CTLCOLORBTN message.
Second inconsistency:
Windows doesn't generate WM_CTLCOLOR* when WM_SETTEXT invoked for the invisible
controls.
My test in Windows shows:
DialogBox.WindowProc: before SetWindowText
DialogBox.WindowProc: after SetWindowText
In Wine:
DialogBox.WindowProc: before SetWindowText
DialogBox.WindowProc(WM_CTLCOLORBTN)
DialogBox.WindowProc: after SetWindowText
These inconsistencies can be critical when an application doesn't expect to get
these WM_CTLCOLOR* and tries to handle it before doing some initialization. In
particular, Trillian 3.1 crashes when opening Trillian Preferences, Message
Windows.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list