a09b0e2357f2 Remove reversal of children in Fl_Group::clear() (Albrecht Schlosser)
Causes my program to attempt to double-free a widget on shutdown.
My program subclasses Fl_Group. My specialized version only implements a constructor and a "int handle(int event)" method. (I do not implement a destructor or clear() method).
The particular group that is crashing (they don't all seem to) includes widgets from Cartesian, a now apparently defunct 2D plotting library for FLTK developed by Roman Kantor.
The first entity that tries to double-free is a Ca_Y_Axis, which comes from Ca_Axis, which is derived from a Fl_Box.
The stack trace looks something like this...
0x103acdf20 Ca_Y_Axis::~Ca_Y_Axis
0x103c8b8d0 Fl_Group::clear
0x103c8ba84 Fl_Group::~Fl_Group
0x10263efe4 Vsp_Group::~Vsp_Group
0x103c8b8d0 Fl_Group::clear
0x103c8bb4c Fl_Group::~Fl_Group
0x103c8b8d0 Fl_Group::clear
0x103c8ba84 Fl_Group::~Fl_Group
0x10263efe4 Vsp_Group::~Vsp_Group
Is this a bug with the new Fl_Group::clear()?
if not, does anyone have suggestions for fixing it? Do you expect it to be a problem with my subclass of Fl_Group, or a problem with Cartesian?
Comments are owned by the poster. All other content is copyright 1998-2025 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.