# HG changeset patch # User Olaf Wintermann # Date 1752316593 -7200 # Node ID 13c68b42d16b287e37f8f03cb353fb9390d7b5f3 # Parent 7a2642891e1326530a3ff106efa362d4ced10c10# Parent 8b943f6009e24c0904368f805b80d7ebee29765c merge diff -r 8b943f6009e2 -r 13c68b42d16b ui/common/args.c --- a/ui/common/args.c Tue Jul 08 12:21:09 2025 +0200 +++ b/ui/common/args.c Sat Jul 12 12:36:33 2025 +0200 @@ -1030,6 +1030,11 @@ args->style_class = strdup(classname); } +UIEXPORT void ui_sourcelist_args_set_static_sublists(UiSourceListArgs *args, UiSubList *sublists, int numsublists) { + args->sublists = calloc(numsublists, sizeof(UiSubList)); + memcpy(args->sublists, sublists, numsublists * sizeof(UiSubList)); + args->numsublists = numsublists; +} void ui_sourcelist_args_set_varname(UiSourceListArgs *args, const char *varname) { args->varname = strdup(varname); @@ -1071,6 +1076,7 @@ free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); + free((void*)args->sublists); free(args); } diff -r 8b943f6009e2 -r 13c68b42d16b ui/common/args.h --- a/ui/common/args.h Tue Jul 08 12:21:09 2025 +0200 +++ b/ui/common/args.h Sat Jul 12 12:36:33 2025 +0200 @@ -246,6 +246,7 @@ UIEXPORT void ui_sourcelist_args_set_rowspan(UiSourceListArgs *args, int rowspan); UIEXPORT void ui_sourcelist_args_set_name(UiSourceListArgs *args, const char *name); UIEXPORT void ui_sourcelist_args_set_style_class(UiSourceListArgs *args, const char *classname); +UIEXPORT void ui_sourcelist_args_set_static_sublists(UiSourceListArgs *args, UiSubList *sublists, int numsublists); UIEXPORT void ui_sourcelist_args_set_varname(UiSourceListArgs *args, const char *varname); UIEXPORT void ui_sourcelist_args_set_dynamic_sublists(UiSourceListArgs *args, UiList *value); UIEXPORT void ui_sourcelist_args_set_getvalue_func(UiSourceListArgs *args, ui_sublist_getvalue_func getvalue);