--- a/ui/common/context.c Sat Feb 22 18:10:36 2025 +0100 +++ b/ui/common/context.c Sun Feb 23 14:28:47 2025 +0100 @@ -45,7 +45,7 @@ static UiContext* global_context; void uic_init_global_context(void) { - CxMempool *mp = cxBasicMempoolCreate(32); + CxMempool *mp = cxMempoolCreateSimple(32); global_context = uic_context(NULL, mp); } @@ -61,7 +61,7 @@ ctx->obj = toplevel; ctx->vars = cxHashMapCreate(mp->allocator, CX_STORE_POINTERS, 16); - ctx->documents = cxLinkedListCreate(mp->allocator, cx_cmp_intptr, CX_STORE_POINTERS); + ctx->documents = cxLinkedListCreate(mp->allocator, cx_cmp_ptr, CX_STORE_POINTERS); ctx->group_widgets = cxLinkedListCreate(mp->allocator, cx_cmp_ptr, sizeof(UiGroupWidget)); ctx->groups = cxArrayListCreate(mp->allocator, cx_cmp_int, sizeof(int), 32); @@ -98,7 +98,7 @@ UiContext *var_ctx = ctx; while(var_ctx) { if(var_ctx->vars_unbound && cxMapSize(var_ctx->vars_unbound) > 0) { - CxIterator i = cxMapIterator(var_ctx->vars_unbound); + CxMapIterator i = cxMapIterator(var_ctx->vars_unbound); cx_foreach(CxMapEntry*, entry, i) { printf("attach %s\n", entry->key->data); UiVar *var = entry->value; @@ -116,8 +116,8 @@ } static void uic_context_unbind_vars(UiContext *ctx) { - CxIterator i = cxMapIterator(ctx->vars); - cx_foreach(CxMapEntry*, entry, i) { + CxMapIterator mi = cxMapIterator(ctx->vars); + cx_foreach(CxMapEntry*, entry, mi) { UiVar *var = entry->value; if(var->from && var->from_ctx) { uic_save_var2(var); @@ -128,7 +128,7 @@ } if(ctx->documents) { - i = cxListIterator(ctx->documents); + CxIterator i = cxListIterator(ctx->documents); cx_foreach(void *, doc, i) { UiContext *subctx = ui_document_context(doc); uic_context_unbind_vars(subctx); @@ -471,7 +471,7 @@ void ui_set_group(UiContext *ctx, int group) { - if(cxListFind(ctx->groups, &group) == -1) { + if(!cxListIndexValid(ctx->groups, cxListFind(ctx->groups, &group))) { cxListAdd(ctx->groups, &group); }