# HG changeset patch # User Olaf Wintermann # Date 1769716559 -3600 # Node ID cb3c1fcecaa043414c84944de394263610d6dcae # Parent f415387fff6f2df68695ef4277a84f92284d6400 fix missing UiText setselection function (GTK) diff -r f415387fff6f -r cb3c1fcecaa0 ui/common/types.c --- a/ui/common/types.c Thu Jan 29 19:01:52 2026 +0100 +++ b/ui/common/types.c Thu Jan 29 20:55:59 2026 +0100 @@ -678,6 +678,7 @@ to->insert = from->insert; to->setposition = from->setposition; to->position = from->position; + to->setselection = from->setselection; to->selection = from->selection; to->length = from->length; to->remove = from->remove; diff -r f415387fff6f -r cb3c1fcecaa0 ui/gtk/text.c --- a/ui/gtk/text.c Thu Jan 29 19:01:52 2026 +0100 +++ b/ui/gtk/text.c Thu Jan 29 20:55:59 2026 +0100 @@ -186,6 +186,7 @@ value->insert = ui_textarea_insert; value->setposition = ui_textarea_setposition; value->position = ui_textarea_position; + value->setselection = ui_textarea_setselection; value->selection = ui_textarea_selection; value->length = ui_textarea_length; value->remove = ui_textarea_remove; @@ -295,6 +296,15 @@ return text->pos; } +void ui_textarea_setselection(UiText *text, int begin, int end) { + GtkTextBuffer *buf = text->data1; + GtkTextIter ib; + GtkTextIter ie; + gtk_text_buffer_get_iter_at_offset(text->data1, &ib, begin); + gtk_text_buffer_get_iter_at_offset(text->data1, &ie, end); + gtk_text_buffer_select_range(buf, &ib, &ie); +} + void ui_textarea_selection(UiText *text, int *begin, int *end) { GtkTextIter b; GtkTextIter e; diff -r f415387fff6f -r cb3c1fcecaa0 ui/gtk/text.h --- a/ui/gtk/text.h Thu Jan 29 19:01:52 2026 +0100 +++ b/ui/gtk/text.h Thu Jan 29 20:55:59 2026 +0100 @@ -120,6 +120,7 @@ void ui_textarea_insert(UiText *text, int pos, char *str); void ui_textarea_setposition(UiText *text, int pos); int ui_textarea_position(UiText *text); +void ui_textarea_setselection(UiText *text, int begin, int end); void ui_textarea_selection(UiText *text, int *begin, int *end); int ui_textarea_length(UiText *text); void ui_textarea_remove(UiText *text, int begin, int end);