diff options
| -rw-r--r-- | fluid/Fl_Menu_Type.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fluid/Fl_Menu_Type.cxx b/fluid/Fl_Menu_Type.cxx index 2bca9c59f..7f18f5c47 100644 --- a/fluid/Fl_Menu_Type.cxx +++ b/fluid/Fl_Menu_Type.cxx @@ -470,7 +470,10 @@ void Fl_Menu_Type::write_code2() { const char *mName = mi->menu_name(i); for (Fl_Type* q = next; q && q->is_menu_item(); q = q->next) { if (((Fl_Menu_Item_Type*)q)->label()) nLabel++; - nItem++; + int thislevel = q->level; if (q->is_parent()) thislevel++; + int nextlevel = + (q->next && q->next->is_menu_item()) ? q->next->level : next->level+1; + nItem += 1 + ((thislevel > nextlevel) ? (thislevel-nextlevel) : 0); } if (nLabel) { write_c("%sif (!%s_i18n_done) {\n", indent(), mName); |
