fix wrong UiColData pointer in single row table update (GTK)

Sun, 07 Dec 2025 15:40:40 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 07 Dec 2025 15:40:40 +0100
changeset 968
128a0de73cc8
parent 967
ff4a8d10307b
child 969
7385c26d998d

fix wrong UiColData pointer in single row table update (GTK)

ui/gtk/list.c file | annotate | diff | comparison | revisions
--- a/ui/gtk/list.c	Sun Dec 07 15:28:46 2025 +0100
+++ b/ui/gtk/list.c	Sun Dec 07 15:40:40 2025 +0100
@@ -681,7 +681,7 @@
         ui_model_add_observer(model, ui_listview_update_model, tableview);
     }
     
-    tableview->columns = calloc(columns, sizeof(UiColData));
+    tableview->columns = calloc(columns, sizeof(int));
     tableview->numcolumns = columns;
     
     tableview->bound_rows = cxHashMapCreate(NULL, CX_STORE_POINTERS, 128);
@@ -914,9 +914,12 @@
             CxHashKey row_key = cx_hash_key(&i, sizeof(int));
             UiRowItems *row = cxMapGet(view->bound_rows, row_key);
             if(row) {
+                UiColData coldata;
+                coldata.listview = view;
                 for(int c=0;c<view->numcolumns;c++) {
                     if(row->items[c] != NULL) {
-                        column_factory_bind(NULL, row->items[c], &view->columns[c]);
+                        coldata.column = c;
+                        column_factory_bind(NULL, row->items[c], &coldata);
                     }
                 }
             }

mercurial