allow null ctx in ui_list_new2 default tip

Tue, 21 Apr 2026 21:09:39 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 21 Apr 2026 21:09:39 +0200
changeset 1100
7773850dc77f
parent 1099
a5057a367c8f

allow null ctx in ui_list_new2

ui/common/types.c file | annotate | diff | comparison | revisions
--- a/ui/common/types.c	Tue Apr 21 10:11:44 2026 +0200
+++ b/ui/common/types.c	Tue Apr 21 21:09:39 2026 +0200
@@ -110,7 +110,6 @@
 
 void uic_ucx_list_destroy(UiContext *ctx, UiList *list, void *unused) {
     cxListFree(list->data);
-    ui_free(ctx, list);
 }
 
 UiList* ui_list_new(UiContext *ctx, const char *name) {
@@ -118,11 +117,11 @@
 }
 
 UiList* ui_list_new2(UiContext *ctx, const char *name, ui_list_init_func listinit, void *userdata) {
-    UiList *list = cxMalloc(ctx->mp->allocator, sizeof(UiList));
+    UiList *list = ui_malloc(ctx, sizeof(UiList));
     memset(list, 0, sizeof(UiList));
     listinit(ctx, list, userdata);
     
-    if(name) {
+    if(name && ctx) {
         uic_reg_var(ctx, name, UI_VAR_LIST, list);
     }
     
@@ -137,7 +136,7 @@
     } else {
         default_list_destroy(ctx, list, default_list_destroy_userdata);
     }
-    
+    ui_free(ctx, list);
 }
 
 void* ui_list_first(UiList *list) {

mercurial