--- a/ui/gtk/text.c Tue Nov 18 12:55:28 2025 +0100 +++ b/ui/gtk/text.c Tue Nov 18 13:33:38 2025 +0100 @@ -706,14 +706,14 @@ return; } - UiString *value = textfield->var->value; + UiString *value = textfield->var ? textfield->var->value : NULL; UiEvent e; e.obj = textfield->obj; e.window = e.obj->window; e.document = textfield->obj->ctx->document; e.eventdata = value; - e.eventdatatype = UI_EVENT_DATA_TEXT_VALUE; + e.eventdatatype = value ? UI_EVENT_DATA_TEXT_VALUE : 0; e.intval = 0; e.set = ui_get_setop(); @@ -728,12 +728,14 @@ void ui_textfield_activate(GtkEntry* self, UiTextField *textfield) { if(textfield->onactivate) { + UiString *value = textfield->var ? textfield->var->value : NULL; + UiEvent e; e.obj = textfield->obj; e.window = e.obj->window; e.document = textfield->obj->ctx->document; - e.eventdata = NULL; - e.eventdatatype = 0; + e.eventdata = value; + e.eventdatatype = value ? UI_EVENT_DATA_TEXT_VALUE : 0; e.intval = 0; e.set = ui_get_setop(); textfield->onactivate(&e, textfield->onactivatedata);