DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2094
Version: 1.3-current


What worked for me was to add a 'return 1' just above FL_HIDE, eg:

--- snip
  case FL_UNFOCUS:
    if (active_r() && window()) window()->cursor(FL_CURSOR_DEFAULT);
    if (mark_ == position_) {
      if (!(damage()&FL_DAMAGE_EXPOSE)) {minimal_update(position_);
erase_cursor_only = 1;}
    } else //if (Fl::selection_owner() != this)
      minimal_update(mark_, position_);
    return 1;            // <-- ADD THIS
                         // <-- ADD BLANK LINE
  case FL_HIDE:
    fl_reset_spot();
--- snip

Looking at older versions, it looks like it's been an omission for a long
time, but wasn't noticeable until a recent logic change in FL_HIDE that
includes testing for FL_WHEN_NOT_CHANGED causes the fallthrough to invoke
the callback unexpectedly.

So I'm pretty sure that 'return 1;' needs to be in there to prevent the
fallthrough -- I don't think that fallthrough has ever been intentional.


Link: http://www.fltk.org/str.php?L2094
Version: 1.3-current

_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to