--- a/ui/common/toolbar.c Sat Apr 05 17:57:04 2025 +0200 +++ b/ui/common/toolbar.c Sun Jul 20 22:04:39 2025 +0200 @@ -49,18 +49,18 @@ return str ? strdup(str) : NULL; } -static UiToolbarItemArgs itemargs_copy(UiToolbarItemArgs args, size_t *ngroups) { +static UiToolbarItemArgs itemargs_copy(UiToolbarItemArgs *args, size_t *ngroups) { UiToolbarItemArgs newargs; - newargs.label = nl_strdup(args.label); - newargs.stockid = nl_strdup(args.stockid); - newargs.icon = nl_strdup(args.icon); - newargs.onclick = args.onclick; - newargs.onclickdata = args.onclickdata; - newargs.groups = uic_copy_groups(args.groups, ngroups); + newargs.label = nl_strdup(args->label); + newargs.stockid = nl_strdup(args->stockid); + newargs.icon = nl_strdup(args->icon); + newargs.onclick = args->onclick; + newargs.onclickdata = args->onclickdata; + newargs.groups = uic_copy_groups(args->groups, ngroups); return newargs; } -void ui_toolbar_item_create(const char* name, UiToolbarItemArgs args) { +void ui_toolbar_item_create(const char* name, UiToolbarItemArgs *args) { UiToolbarItem* item = malloc(sizeof(UiToolbarItem)); item->item.type = UI_TOOLBAR_ITEM; item->args = itemargs_copy(args, &item->ngroups); @@ -68,34 +68,34 @@ } -static UiToolbarToggleItemArgs toggleitemargs_copy(UiToolbarToggleItemArgs args, size_t *ngroups) { +static UiToolbarToggleItemArgs toggleitemargs_copy(UiToolbarToggleItemArgs *args, size_t *ngroups) { UiToolbarToggleItemArgs newargs; - newargs.label = nl_strdup(args.label); - newargs.stockid = nl_strdup(args.stockid); - newargs.icon = nl_strdup(args.icon); - newargs.varname = nl_strdup(args.varname); - newargs.onchange = args.onchange; - newargs.onchangedata = args.onchangedata; - newargs.groups = uic_copy_groups(args.groups, ngroups); + newargs.label = nl_strdup(args->label); + newargs.stockid = nl_strdup(args->stockid); + newargs.icon = nl_strdup(args->icon); + newargs.varname = nl_strdup(args->varname); + newargs.onchange = args->onchange; + newargs.onchangedata = args->onchangedata; + newargs.groups = uic_copy_groups(args->groups, ngroups); return newargs; } -void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs args) { +void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs *args) { UiToolbarToggleItem* item = malloc(sizeof(UiToolbarToggleItem)); item->item.type = UI_TOOLBAR_TOGGLEITEM; item->args = toggleitemargs_copy(args, &item->ngroups); cxMapPut(toolbar_items, name, item); } -static UiToolbarMenuArgs menuargs_copy(UiToolbarMenuArgs args) { +static UiToolbarMenuArgs menuargs_copy(UiToolbarMenuArgs *args) { UiToolbarMenuArgs newargs; - newargs.label = nl_strdup(args.label); - newargs.stockid = nl_strdup(args.stockid); - newargs.icon = nl_strdup(args.icon); + newargs.label = nl_strdup(args->label); + newargs.stockid = nl_strdup(args->stockid); + newargs.icon = nl_strdup(args->icon); return newargs; } -UIEXPORT void ui_toolbar_menu_create(const char* name, UiToolbarMenuArgs args) { +UIEXPORT void ui_toolbar_menu_create(const char* name, UiToolbarMenuArgs *args) { UiToolbarMenuItem* item = malloc(sizeof(UiToolbarMenuItem)); item->item.type = UI_TOOLBAR_MENU; memset(&item->menu, 0, sizeof(UiMenu));