summaryrefslogtreecommitdiff
path: root/fluid/code.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2005-04-09 14:17:13 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2005-04-09 14:17:13 +0000
commit000eca281a5cb99e652cea69ef97832ee5240fa3 (patch)
tree1695dceda56833821abfb1aab18c3f28765f1d4a /fluid/code.cxx
parent25447eeb0415cee874721d41fd31e788c95e0418 (diff)
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
Diffstat (limited to 'fluid/code.cxx')
-rw-r--r--fluid/code.cxx14
1 files changed, 12 insertions, 2 deletions
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");