http://bugs.winehq.org/show_bug.cgi?id=24952
Summary: dlls/user32/button.c handles incorrectly unknown button types Product: Wine Version: 1.3.6 Platform: x86 OS/Version: All Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 AssignedTo: wine-bugs@winehq.org ReportedBy: mity@morous.org
Created an attachment (id=31597) --> (http://bugs.winehq.org/attachment.cgi?id=31597) code demonstrating the difference
When an unknown/unsupported button type is specified (e.g. BS_SPLITBUTTON or BS_DEFSPLITBUTTON), creation of button control fails in Wine.
In contrary on Windows it suceeds (even though the created control then behaves incorrectly) whenever BS_[DEF]SPLITBUTON is not supported. Tested on Windows 2000, Windows XP, Windows 7 (with program without manifest, so comctl32 6.0 was NOT used).
The behavior difference in effect prevents mCtrl split button emulation from working (see http://sourceforge.net/projects/mctrl/). The MCTRL.DLL provides a split button as a subclass of standard BUTTON window class.
When needed (i.e. COMCTL32 < 6.0), the split buttons are handled by the code in MCTRL.DLL implementation. This works perfectly on Windows, but not within Wine for the reason described above.
The behavior difference can be tested with the attached code: On Windows the two buttons are created successfully (even they misbehave), on Wine the two CreateWindow calls fail.
Obviously the reason is the test:
if (btn_type >= MAX_BTN_TYPE) return -1; /* abort */
in dlls/couser32/button.c:260.
There are probably also other related problems (e.g. in BM_SETSTYLE) etc.
http://bugs.winehq.org/show_bug.cgi?id=24952
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OS/Version|All |other
http://bugs.winehq.org/show_bug.cgi?id=24952
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |nerv@dawncrow.de Ever Confirmed|0 |1
--- Comment #1 from André H. nerv@dawncrow.de 2010-10-31 16:04:56 CDT --- i already had a similar problem with a client side buttonstyle of 0xF IIRC, i sent patches, but they did not got accepted. Maybe i try to improve them
http://bugs.winehq.org/show_bug.cgi?id=24952
--- Comment #2 from Mity mity@morous.org 2010-11-15 14:29:36 CST --- Thanks André. Your commit e054fc23100f347ae3ed026d24f183aa85b8c802 fixed the issue. With Wine 1.3.7 the mCtrl split button emulation works as intended.
I'm not sure what's the policy about resolving issues here, so I keep it open as I'm just a visitor ;-)
http://bugs.winehq.org/show_bug.cgi?id=24952
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #3 from André H. nerv@dawncrow.de 2010-11-15 14:47:11 CST --- marking resolved fixed. leave this status until AJ closes it please
http://bugs.winehq.org/show_bug.cgi?id=24952
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2010-11-26 13:14:54 CST --- Closing bugs fixed in 1.3.8.
http://bugs.winehq.org/show_bug.cgi?id=24952
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.2.x
http://bugs.winehq.org/show_bug.cgi?id=24952
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.2.x |---
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2010-12-03 12:51:53 CST --- Removing 1.2.x milestone from bugs included in 1.2.2.
https://bugs.winehq.org/show_bug.cgi?id=24952
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e054fc23100f347ae3ed026d24f | |183aa85b8c802