Fix deselection of greyed-out variant button (WB)
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 31 Jan 2011 22:03:05 +0000 (23:03 +0100)
committerArun Persaud <apersaud@lbl.gov>
Thu, 3 Feb 2011 16:28:51 +0000 (08:28 -0800)
In Windows a disabled radiobutton refuses to deselect when you select
another (enabled) button from the group. There are then 2 buttons
checked, and the code to readout the buttons took the first one. Now it
is changed to take the first enabled one.

winboard/woptions.c

index 03210c4..cf5967d 100644 (file)
@@ -807,7 +807,8 @@ VariantWhichRadio(HWND hDlg)
   int i=0, j;\r
   while((j = radioButton[i++]) != -2) {\r
        if(j == -1) continue; // no menu button\r
-       if(IsDlgButtonChecked(hDlg, j)) return (VariantClass) i-1;\r
+       if(IsDlgButtonChecked(hDlg, j) &&\r
+          (appData.noChessProgram || strstr(first.variants, VariantName(i-1)))) return (VariantClass) i-1;\r
   }\r
   return gameInfo.variant; // If no button checked, keep old\r
 }\r