summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2014-02-19 14:24:49 +0000
committerManolo Gouy <Manolo>2014-02-19 14:24:49 +0000
commit1122c1444301231a1072395f4c9018a965df0bfc (patch)
treeafc7b71589218a1f81a02ec9471c39ffb8ef0ed8 /src
parentb72cb186812aa0a016beb9bf345f51bdf07ee076 (diff)
Invisible items and submenus are now skipped
when building MacOS menus. Previously, corresponding MacOS items were first built and then deleted. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10105 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Sys_Menu_Bar.mm16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/Fl_Sys_Menu_Bar.mm b/src/Fl_Sys_Menu_Bar.mm
index e2bb478a8..5a58c87b4 100644
--- a/src/Fl_Sys_Menu_Bar.mm
+++ b/src/Fl_Sys_Menu_Bar.mm
@@ -289,7 +289,10 @@ static void createSubMenu( NSMenu *mh, pFl_Menu_Item &mm, const Fl_Menu_Item *m
while ( mm->text )
{
- char visible = mm->visible() ? 1 : 0;
+ if (!mm->visible() ) { // skip invisible items and submenus
+ mm = mm->next(0);
+ continue;
+ }
miCnt = [FLMenuItem addNewItem:mm menu:submenu];
setMenuFlags( submenu, miCnt, mm );
setMenuShortcut( submenu, miCnt, mm );
@@ -311,9 +314,6 @@ static void createSubMenu( NSMenu *mh, pFl_Menu_Item &mm, const Fl_Menu_Item *m
if ( flags & FL_MENU_DIVIDER ) {
[submenu addItem:[NSMenuItem separatorItem]];
}
- if ( !visible ) {
- [submenu removeItem:[submenu itemAtIndex:miCnt]];
- }
mm++;
}
}
@@ -337,7 +337,10 @@ static void convertToMenuBar(const Fl_Menu_Item *mm)
{
if ( !mm || !mm->text )
break;
- char visible = mm->visible() ? 1 : 0;
+ if (!mm->visible() ) { // skip invisible menus
+ mm = mm->next(0);
+ continue;
+ }
rank = [FLMenuItem addNewItem:mm menu:fl_system_menu];
if ( mm->flags & FL_SUBMENU ) {
@@ -348,9 +351,6 @@ static void convertToMenuBar(const Fl_Menu_Item *mm)
const Fl_Menu_Item *smm = (Fl_Menu_Item*)mm->user_data_;
createSubMenu(fl_system_menu, smm, mm);
}
- if ( !visible ) {
- [fl_system_menu removeItem:[fl_system_menu itemAtIndex:rank]];
- }
mm++;
}
}