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

[STR New]

Link: http://www.fltk.org/str.php?L2302
Version: 1.1.9
Fix Version: 1.1.10


Meanwhile I looked at the code again, and I think that it would be better
to remove stale entries from the callback queue when widgets are deleted
than to do it at _every_ occurrence of Fl::readqueue(). This is for two
reasons:

(1) Fl::readqueue() is used at a few places in the FLTK core (not too
many; I'm sure we could handle this)

(2) user code that uses it might have the same problems.

Therefore I added a cleanup function that is called from Fl_Widget's
destructor, because this is IMO the cleanest solution.

Drawback: This cleanup function must read the entire queue of callback
entries when widgets are deleted, and thus widget deletion might slow down
a bit.

However, it is called only for widgets that don't have an own callback
(use the default callback), and the queue size is limited (currently 20
entries). Thus, I think that this is tolerable.

I'll commit the changes for 1.1.10 and 1.3 shortly. If further discussion
shows that this should be removed for any reason that I don't see now,
then it would be easy to remove it again, but then we would have to flush
the callback queue before every attempt to use Fl::readqueue() - before
showing the dialog windows etc..


Link: http://www.fltk.org/str.php?L2302
Version: 1.1.9
Fix Version: 1.1.10

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

Reply via email to