diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_Tree.cxx | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/Fl_Tree.cxx b/src/Fl_Tree.cxx index 3578778ca..92b4c0123 100644 --- a/src/Fl_Tree.cxx +++ b/src/Fl_Tree.cxx @@ -279,6 +279,7 @@ int Fl_Tree::handle(int e) { break; } case FL_DRAG: { + if ( Fl::event_button() != FL_LEFT_MOUSE ) break; Fl_Tree_Item *o = _root->find_clicked(_prefs); if ( o ) { ret |= 1; // handled @@ -328,11 +329,9 @@ int Fl_Tree::handle(int e) { case FL_RELEASE: { if ( Fl::event_button() == FL_LEFT_MOUSE ) { ret |= 1; - } - if ( when() & FL_WHEN_RELEASE || - ( changed && when() & FL_WHEN_CHANGED) ) { - set_changed(); - do_callback((Fl_Widget*)this, user_data()); // item callback + if ( when() & FL_WHEN_RELEASE || ( this->changed() && (when() & FL_WHEN_CHANGED)) ) { + do_callback((Fl_Widget*)this, user_data()); // item callback + } } break; } |
