ui/common/context.c

changeset 471
063a9f29098c
parent 440
7c4b9cba09ca
child 474
971dd0f3a117
--- 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);
     }
     

mercurial