diff options
Diffstat (limited to 'src/Fl_Positioner.cxx')
| -rw-r--r-- | src/Fl_Positioner.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Fl_Positioner.cxx b/src/Fl_Positioner.cxx index af86685c1..4bdcad797 100644 --- a/src/Fl_Positioner.cxx +++ b/src/Fl_Positioner.cxx @@ -99,8 +99,12 @@ int Fl_Positioner::handle(int event, int X, int Y, int W, int H) { if (!(when() & FL_WHEN_CHANGED || (when() & FL_WHEN_RELEASE && event == FL_RELEASE))) return 1; if (changed() || when()&FL_WHEN_NOT_CHANGED) { - if (event == FL_RELEASE) clear_changed(); - do_callback(); + Fl_Callback_Reason reason = changed() ? FL_REASON_CHANGED : FL_REASON_SELECTED; + if (event == FL_RELEASE) { + clear_changed(); + reason = FL_REASON_RELEASED; + } + do_callback(reason); } return 1; default: |
