From 000eca281a5cb99e652cea69ef97832ee5240fa3 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Sat, 9 Apr 2005 14:17:13 +0000 Subject: FLUID widget class support fixes. fluid/Fl_Window_Type.cxx: - Fl_Widget_Class::write_code1(): forgot name() in window class constructor. fluid/code.cxx: - write_code(): skip nodes as needed when writing code so we don't place method code in the constructor. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4252 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- fluid/code.cxx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'fluid/code.cxx') diff --git a/fluid/code.cxx b/fluid/code.cxx index d04d390fd..bbac3cbeb 100644 --- a/fluid/code.cxx +++ b/fluid/code.cxx @@ -254,14 +254,24 @@ static Fl_Type* write_code(Fl_Type* p) { // Handle widget classes specially for (q = p->next; q && q->level > p->level;) { if (strcmp(q->type_name(), "Function")) q = write_code(q); - else q = q->next; + else { + int level = q->level; + do { + q = q->next; + } while (q && q->level > level); + } } p->write_code2(); for (q = p->next; q && q->level > p->level;) { if (!strcmp(q->type_name(), "Function")) q = write_code(q); - else q = q->next; + else { + int level = q->level; + do { + q = q->next; + } while (q && q->level > level); + } } write_h("};\n"); -- cgit v1.2.3