diff -r d466b6edfebc -r 4d04cb879daa ui/gtk/toolkit.c --- a/ui/gtk/toolkit.c Sat Oct 04 10:59:56 2025 +0200 +++ b/ui/gtk/toolkit.c Sat Oct 04 12:29:44 2025 +0200 @@ -322,15 +322,15 @@ ui_destroy_boundvar(NULL, var); } +// TODO: move to common void ui_destroy_boundvar(UiContext *ctx, UiVar *var) { + uic_save_var(var); uic_unbind_var(var); + // UI_VAR_SPECIAL: anonymous value variable, that is not registered + // in ctx->vars if(var->type == UI_VAR_SPECIAL) { ui_free(var->from_ctx, var); - } else { - ui_free(var->from_ctx, var); - // TODO: free or unbound - //uic_remove_bound_var(ctx, var); } }