summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Button.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Fl_Button.cxx b/src/Fl_Button.cxx
index 4df8626c6..05f0fad4c 100644
--- a/src/Fl_Button.cxx
+++ b/src/Fl_Button.cxx
@@ -131,10 +131,13 @@ int Fl_Button::handle(int event) {
if (when() & FL_WHEN_NOT_CHANGED) do_callback(FL_REASON_SELECTED);
return 1;
}
- set_changed();
- if (type() == FL_RADIO_BUTTON) setonly();
- else if (type() == FL_TOGGLE_BUTTON) oldval = value_;
- else {
+ if (type() == FL_RADIO_BUTTON) {
+ setonly();
+ set_changed();
+ } else if (type() == FL_TOGGLE_BUTTON) {
+ oldval = value_;
+ set_changed();
+ } else {
value(oldval);
set_changed();
if (when() & FL_WHEN_CHANGED) {