--- a/ui/common/menu.c Mon Aug 17 21:00:33 2026 +0200 +++ b/ui/common/menu.c Tue Aug 18 20:48:31 2026 +0200 @@ -309,6 +309,8 @@ builder->menus_begin = NULL; builder->menus_end = NULL; builder->current = cxLinkedListCreate(cxDefaultAllocator, CX_STORE_POINTERS); + builder->custom_data = NULL; + builder->custom_destr = NULL; builder->ref = 1; current_builder = builder; *out_builder = builder; @@ -316,6 +318,10 @@ ui_menu_create(NULL); } +void ui_menubuilder_set_custom_data(UiMenuBuilder *builder, void *data, ui_destructor_func destr) { + builder->custom_destr = destr; + builder->custom_data = data; +} static void free_menuitem(UiMenuItemI *item) {