summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2011-05-10 16:46:42 +0000
committerManolo Gouy <Manolo>2011-05-10 16:46:42 +0000
commit42af47f31e9e107412a306b19db162026774a2cd (patch)
tree9975c67a025c840f6275e4a80aec2bb7d92bcfd7
parent41fc90726b12308c96ba310aab8c2871b3e57d44 (diff)
Fix STR #2597.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8645 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--fluid/Fl_Menu_Type.cxx5
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);