--- a/ui/motif/menu.c Sun Dec 07 20:00:33 2025 +0100 +++ b/ui/motif/menu.c Sat Dec 13 15:58:58 2025 +0100 @@ -33,7 +33,6 @@ #include "menu.h" #include "button.h" #include "toolkit.h" -#include "stock.h" #include "container.h" #include "../common/context.h" #include "../common/menu.h" @@ -55,10 +54,10 @@ /* UI_MENU_SEPARATOR */ add_menuseparator_widget }; -void ui_create_menubar(UiObject *obj, Widget window) { +Widget ui_create_menubar(UiObject *obj, Widget window) { UiMenu *menus_begin = uic_get_menu_list(); if(!menus_begin) { - return; + return NULL; } Widget menubar = XmCreateMenuBar(window, "menubar", NULL, 0); @@ -70,6 +69,8 @@ add_menu_widget(menubar, 0, &menu->item, obj); ls = (UiMenu*)ls->item.next; } + + return menubar; } void ui_add_menu_items(Widget parent, int i, UiMenu *menu, UiObject *obj) { @@ -93,16 +94,15 @@ XtSetArg(args[n], XmNlabelString, s); n++; } - Widget submenu = XmVaCreateSimplePulldownMenu(parent, "menu_pulldown", i, NULL, NULL); + Widget submenu = XmCreatePulldownMenu(parent, "menu_pulldown", NULL, 0); XtSetArg(args[n], XmNsubMenuId, submenu); n++; - Widget menuItem = XtCreateManagedWidget( + (void)XtCreateManagedWidget( "menuitem", xmCascadeButtonWidgetClass, parent, args, n); - if(s) { XmStringFree(s); } @@ -145,11 +145,11 @@ XtAddCallback( mitem, XmNdestroyCallback, - (XtCallbackProc)ui_destroy_eventdata, + (XtCallbackProc)ui_destroy_data, eventdata); } - ui_set_widget_groups(obj->ctx, mitem, it->groups); + ui_set_widget_groups(obj->ctx, mitem, it->states); } void add_menuseparator_widget(Widget p, int i, UiMenuItemI *item, UiObject *obj) { @@ -181,7 +181,7 @@ ui_bind_togglebutton(obj, checkbox, it->varname, NULL, it->callback, it->userdata, 0); - ui_set_widget_groups(obj->ctx, checkbox, it->groups); + ui_set_widget_groups(obj->ctx, checkbox, it->states); } void add_radioitem_widget(Widget p, int index, UiMenuItemI *item, UiObject *obj) { @@ -337,7 +337,7 @@ XtAddCallback( mitem, XmNdestroyCallback, - (XtCallbackProc)ui_destroy_eventdata, + (XtCallbackProc)ui_destroy_data, eventdata); }