diff options
Diffstat (limited to 'amiga/menu.c')
-rw-r--r-- | amiga/menu.c | 49 |
1 files changed, 17 insertions, 32 deletions
diff --git a/amiga/menu.c b/amiga/menu.c index c4e0a51d7..9d555abc1 100644 --- a/amiga/menu.c +++ b/amiga/menu.c @@ -704,29 +704,19 @@ static void ami_init_menulabs(struct gui_window_2 *gwin) /* Menu refresh for hotlist */ void ami_menu_refresh(struct gui_window_2 *gwin) { + struct Menu *menu; + SetAttrs(gwin->objects[OID_MAIN], -#ifdef __amigaos4__ - WINDOW_NewMenu, NULL, -#else WINDOW_MenuStrip, NULL, -#endif TAG_DONE); -#ifndef __amigaos4__ - ami_menu_free_os3(gwin->menu_os3); -#endif + ami_menu_free(gwin); ami_free_menulabs(gwin); - ami_create_menu(gwin); -#ifndef __amigaos4__ - gwin->menu_os3 = ami_menu_create_os3(gwin, gwin->menu); -#endif + + menu = ami_menu_create(gwin); SetAttrs(gwin->objects[OID_MAIN], -#ifdef __amigaos4__ - WINDOW_NewMenu, gwin->menu, -#else - WINDOW_MenuStrip, gwin->menu_os3, -#endif + WINDOW_MenuStrip, menu, TAG_DONE); } @@ -905,25 +895,13 @@ static struct gui_window_2 *ami_menu_layout(struct gui_window_2 *gwin) return gwin; } -#ifndef __amigaos4__ -void ami_menu_free_os3(struct gui_window_2 *gwin) +void ami_menu_free(struct gui_window_2 *gwin) { - FreeMenus(gwin->menu_os3); + FreeMenus(gwin->imenu); FreeVisualInfo(gwin->vi); } -struct Menu *ami_menu_create_os3(struct gui_window_2 *gwin, struct NewMenu *newmenu) -{ - gwin->vi = GetVisualInfo(scrn, TAG_DONE); - gwin->menu_os3 = CreateMenus(newmenu, TAG_DONE); - LayoutMenus(gwin->menu_os3, gwin->vi, - GTMN_NewLookMenus, TRUE, TAG_DONE); - - return gwin->menu_os3; -} -#endif - -struct NewMenu *ami_create_menu(struct gui_window_2 *gwin) +struct Menu *ami_menu_create(struct gui_window_2 *gwin) { gwin->menu = ami_misc_allocvec_clear(sizeof(struct NewMenu) * (AMI_MENU_AREXX_MAX + 1), 0); ami_init_menulabs(gwin); @@ -944,7 +922,14 @@ struct NewMenu *ami_create_menu(struct gui_window_2 *gwin) if(nsoption_bool(background_images) == true) gwin->menu[M_IMGBACK].nm_Flags |= CHECKED; - return(gwin->menu); + gwin->vi = GetVisualInfo(scrn, TAG_DONE); + gwin->imenu = CreateMenus(gwin->menu, TAG_DONE); + LayoutMenus(gwin->imenu, gwin->vi, + GTMN_NewLookMenus, TRUE, TAG_DONE); + + /**\todo do we even need to store/keep gwin->menu? **/ + + return gwin->imenu; } void ami_menu_arexx_scan(struct gui_window_2 *gwin) |