Author: greg.ercolano
Date: 2010-05-10 13:23:42 -0700 (Mon, 10 May 2010)
New Revision: 7599
Log:
1) Invoke callback if when(FL_WHEN_RELEASE)
2) Removed unintended fallthrough from FL_DRAG -> FL_RELEASE handler.
3) Removed redundant redraw() calls
Modified:
branches/branch-1.3/src/Fl_Tree.cxx
Modified: branches/branch-1.3/src/Fl_Tree.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Tree.cxx 2010-05-09 21:07:27 UTC (rev 7598)
+++ branches/branch-1.3/src/Fl_Tree.cxx 2010-05-10 20:23:42 UTC (rev 7599)
@@ -304,12 +304,12 @@
changed = 1; // changed
o->select_toggle(); // toggle selection
lastselect = o; // save we toggled it (prevents
oscillation)
- redraw(); // make change(s) visible
}
} else {
- changed = 1; // changed
- o->select(); // select this
- redraw(); // make change(s) visible
+ if ( ! o->is_selected() ) {
+ changed = 1; // changed
+ o->select(); // select this
+ }
}
break;
}
@@ -323,11 +323,17 @@
}
}
}
+ break;
}
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
+ }
break;
}
}
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit