# HG changeset patch # User Olaf Wintermann # Date 1706550475 -3600 # Node ID 5dd24929f9f683dcd10de635739f01d896705662 # Parent 56621137b8e19840790260004a37a01691397c41 fix list binding copy diff -r 56621137b8e1 -r 5dd24929f9f6 ui/common/context.c --- a/ui/common/context.c Mon Jan 29 14:02:00 2024 +0100 +++ b/ui/common/context.c Mon Jan 29 18:47:55 2024 +0100 @@ -316,12 +316,19 @@ case UI_VAR_LIST: { // TODO: not sure how correct this is + UiList *f = from->value; + UiList *t = to->value; + if (f->obj) { + t->obj = f->obj; + t->update = f->update; + } + UiVar tmp = *from; *from = *to; *to = tmp; - UiList* t = to->value; - ui_notify(t->observers, NULL); + UiList* t2 = to->value; + ui_notify(t2->observers, NULL); break; } diff -r 56621137b8e1 -r 5dd24929f9f6 ui/winui/text.cpp --- a/ui/winui/text.cpp Mon Jan 29 14:02:00 2024 +0100 +++ b/ui/winui/text.cpp Mon Jan 29 18:47:55 2024 +0100 @@ -452,7 +452,7 @@ ui_context_add_widget_destructor(current->ctx, widget); // bind var - UiVar* var = uic_widget_var(obj->ctx, current->ctx, args.value, args.varname, UI_VAR_LIST); + UiVar* var = uic_widget_var(obj->ctx, current->ctx, args.value, args.varname, UI_VAR_STRING); if (var) { UiString* value = (UiString*)var->value; value->obj = uipathbar;