Corrected handling of radio buttons
Medland, Bill
Bill.Medland at accpac.com
Mon Dec 10 16:53:30 CST 2001
<<diff34.txt>>
-------------- next part --------------
Bill Medland (medbi01 at accpac.com)
For a radio button even if the initial style includes WS_TABSTOP the first
BM_SETCHECK 0 will clear it (even if the state was clear).
Index: wine/controls/button.c
===================================================================
RCS file: /home/wine/wine/controls/button.c,v
retrieving revision 1.52
diff -u -r1.52 button.c
--- wine/controls/button.c 2001/09/19 20:37:04 1.52
+++ wine/controls/button.c 2001/12/10 21:09:32
@@ -371,14 +371,14 @@
case BM_SETCHECK:
if (wParam > maxCheckState[btn_type]) wParam = maxCheckState[btn_type];
state = get_button_state( hWnd );
+ if ((btn_type == BS_RADIOBUTTON) || (btn_type == BS_AUTORADIOBUTTON))
+ {
+ if (wParam) style |= WS_TABSTOP;
+ else style &= ~WS_TABSTOP;
+ SetWindowLongA( hWnd, GWL_STYLE, style );
+ }
if ((state & 3) != wParam)
{
- if ((btn_type == BS_RADIOBUTTON) || (btn_type == BS_AUTORADIOBUTTON))
- {
- if (wParam) style |= WS_TABSTOP;
- else style &= ~WS_TABSTOP;
- SetWindowLongA( hWnd, GWL_STYLE, style );
- }
set_button_state( hWnd, (state & ~3) | wParam );
paint_button( hWnd, btn_type, ODA_SELECT );
}
More information about the wine-patches
mailing list