X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xoptions.c;h=1d5173835947ff27d4ca48c4c1c43956ebe159b8;hb=a98a889d21403be8361c2abdd41480d5d02674cd;hp=1bccfc3e211e287be275cfb154aad5208befbba0;hpb=80dc596f1212770a72f7bb8d9dab79bd311c6fe6;p=xboard.git diff --git a/xoptions.c b/xoptions.c index 1bccfc3..1d51738 100644 --- a/xoptions.c +++ b/xoptions.c @@ -1237,13 +1237,14 @@ void GenericReadout() sscanf(val, "%f", &x); if(x > currentOption[i].max) x = currentOption[i].max; if(x < currentOption[i].min) x = currentOption[i].min; - if(currentOption[i].value != x) { + if(currentOption[i].type == Fractional) + *(float*) currentOption[i].target = x; // engines never have float options! + else if(currentOption[i].value != x) { currentOption[i].value = x; - if(currentCps) { // engines never have float options, so no decimals! + if(currentCps) { snprintf(buf, MSG_SIZ, "option %s=%.0f\n", currentOption[i].name, x); SendToProgram(buf, currentCps); - } else if(currentOption[i].type == Spin) *(int*) currentOption[i].target = x; - else *(float*) currentOption[i].target = x; + } else *(int*) currentOption[i].target = x; } break; case CheckBox: