diff --git a/fluid/Fl_Menu_Type.cxx b/fluid/Fl_Menu_Type.cxx index cdd24540dec053a32a644baff30b2f2fa43654ed..fb157b9cd8cc6fb55c534e710b25b4e7b57d2e32 100644 --- a/fluid/Fl_Menu_Type.cxx +++ b/fluid/Fl_Menu_Type.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Menu_Type.cxx,v 1.16.2.10 2000/11/21 21:37:07 easysw Exp $" +// "$Id: Fl_Menu_Type.cxx,v 1.16.2.11 2001/01/21 07:36:45 spitzak Exp $" // // Menu item code for the Fast Light Tool Kit (FLTK). // @@ -168,21 +168,19 @@ void Fl_Menu_Item_Type::write_static() { if (next && next->is_menu_item()) return; // okay, when we hit last item in the menu we have to write the // entire array out: - int mylevel; const char* k = class_name(1); if (k) { - write_c("\nFl_Menu_Item %s::%s[] = {\n", k, menu_name(level)); - } else - write_c("\nFl_Menu_Item %s[] = {\n", menu_name(level)); + int i; write_c("\nFl_Menu_Item %s::%s[] = {\n", k, menu_name(i)); + } else { + int i; write_c("\nFl_Menu_Item %s[] = {\n", menu_name(i)); + } Fl_Type* t = prev; while (t && t->is_menu_item()) t = t->prev; - mylevel = t->level+1; for (Fl_Type* q = t->next; q && q->is_menu_item(); q = q->next) { ((Fl_Menu_Item_Type*)q)->write_item(); - if (q->is_parent()) mylevel++; - int l1 = - (q->next && q->next->is_menu_item()) ? q->next->level : t->next->level; - while (mylevel > l1) {write_c(" {0},\n"); mylevel--;} - mylevel = l1; + int thislevel = q->level; if (q->is_parent()) thislevel++; + int nextlevel = + (q->next && q->next->is_menu_item()) ? q->next->level : t->level+1; + while (thislevel > nextlevel) {write_c(" {0},\n"); thislevel--;} } write_c(" {0}\n};\n"); @@ -462,5 +460,5 @@ void shortcut_in_cb(Shortcut_Button* i, void* v) { } // -// End of "$Id: Fl_Menu_Type.cxx,v 1.16.2.10 2000/11/21 21:37:07 easysw Exp $". +// End of "$Id: Fl_Menu_Type.cxx,v 1.16.2.11 2001/01/21 07:36:45 spitzak Exp $". // diff --git a/fluid/Fl_Type.cxx b/fluid/Fl_Type.cxx index 3ec9ef340a8ea827e9ce3dc841bb67befaaddf33..3f7a107465213d896aefd0e75709ba31b9124d7f 100644 --- a/fluid/Fl_Type.cxx +++ b/fluid/Fl_Type.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Type.cxx,v 1.6.2.4 2000/09/23 08:15:11 spitzak Exp $" +// "$Id: Fl_Type.cxx,v 1.6.2.5 2001/01/21 07:36:45 spitzak Exp $" // // Widget type code for the Fast Light Tool Kit (FLTK). // @@ -334,6 +334,7 @@ void Fl_Type::remove_child(Fl_Type*) {} // add a list of widgets as a new child of p: void Fl_Type::add(Fl_Type *p) { + if (p && parent == p) return; parent = p; Fl_Type *end = this; while (end->next) end = end->next; @@ -666,5 +667,5 @@ void Fl_Type::read_property(const char *c) { int Fl_Type::read_fdesign(const char*, const char*) {return 0;} // -// End of "$Id: Fl_Type.cxx,v 1.6.2.4 2000/09/23 08:15:11 spitzak Exp $". +// End of "$Id: Fl_Type.cxx,v 1.6.2.5 2001/01/21 07:36:45 spitzak Exp $". //