I'm not sure if I said correctly what I wanted...
What I meant is for example in the function
void Fl_Group::insert(Fl_Widget &o, int index) {
if (o.parent()) {
Fl_Group* g = (Fl_Group*)(o.parent());
int n = g->find(o);
if (g == this) {
if (index > n) index--;
if (index == n) return;
}
g->remove(o);
}
o.parent_ = this;
if (children_ == 0) { // use array pointer to point at single child
array_ = (Fl_Widget**)&o;
} else if (children_ == 1) { // go from 1 to 2 children
Fl_Widget* t = (Fl_Widget*)array_;
array_ = (Fl_Widget**)malloc(2*sizeof(Fl_Widget*));
if (index) {array_[0] = t; array_[1] = &o;}
else {array_[0] = &o; array_[1] = t;}
} else {
if (!(children_ & (children_-1))) // double number of children
array_ = (Fl_Widget**)realloc((void*)array_,
2*children_*sizeof(Fl_Widget*));
int j; for (j = children_; j > index; j--) array_[j] = array_[j-1];
array_[j] = &o;
}
children_++;
init_sizes();
}
I can't get the value of index or of array_ (or any information about them).
It's of course obvious that outside the function I won't be able to get the
value of a variable that doesn't exist anymore...
About the number of widgets: as long as I have less than something around 5000
widgets, it works fine. And then it starts acting weird, until it finally gets
damaged. I know it would be much more helpful if I had a small compilable
example I could post... I'm trying to write one.
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk