add ui_menubuilder_ref_by_obj default tip

Mon, 17 Aug 2026 21:00:33 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Mon, 17 Aug 2026 21:00:33 +0200
changeset 1231
9b04214d1caa
parent 1230
cbc38a15e094

add ui_menubuilder_ref_by_obj

ui/common/menu.c file | annotate | diff | comparison | revisions
ui/ui/menu.h file | annotate | diff | comparison | revisions
--- a/ui/common/menu.c	Thu Aug 13 16:22:44 2026 +0200
+++ b/ui/common/menu.c	Mon Aug 17 21:00:33 2026 +0200
@@ -389,3 +389,8 @@
         ui_menubuilder_free(builder);
     }
 }
+
+void ui_menubuilder_ref_by_obj(UiMenuBuilder *builder, UiObject *obj) {
+    builder->ref++;
+    ui_reg_destructor(obj->ctx, builder, (ui_destructor_func)ui_menubuilder_unref);
+}
--- a/ui/ui/menu.h	Thu Aug 13 16:22:44 2026 +0200
+++ b/ui/ui/menu.h	Mon Aug 17 21:00:33 2026 +0200
@@ -105,6 +105,7 @@
 UIEXPORT void ui_contextmenu_builder(UiMenuBuilder **out_builder);
 UIEXPORT void ui_menubuilder_ref(UiMenuBuilder *builder);
 UIEXPORT void ui_menubuilder_unref(UiMenuBuilder *builder);
+UIEXPORT void ui_menubuilder_ref_by_obj(UiMenuBuilder *builder, UiObject *obj);
 UIEXPORT UIMENU ui_contextmenu_create(UiMenuBuilder *builder, UiObject *obj, UIWIDGET widget);
 UIEXPORT void ui_contextmenu_popup(UIMENU menu, UIWIDGET widget, int x, int y);
 

mercurial