Tue, 18 Nov 2025 13:40:15 +0100
update label first, before freeing the old value in ui_label_set (Motif)
| application/demo_bindings.c | file | annotate | diff | comparison | revisions | |
| ui/motif/label.c | file | annotate | diff | comparison | revisions |
--- a/application/demo_bindings.c Tue Nov 18 13:33:38 2025 +0100 +++ b/application/demo_bindings.c Tue Nov 18 13:40:15 2025 +0100 @@ -90,11 +90,11 @@ ui_grid(obj, .margin = 10, .columnspacing = 10, .rowspacing = 10, .fill = TRUE) { ui_rlabel(obj, .label = "Document:"); - ui_llabel(obj, .varname = "id"); + ui_llabel(obj, .varname = "id", .hfill = TRUE, .vfill = TRUE); ui_newline(obj); ui_rlabel(obj, .label = "Name:"); - ui_llabel(obj, .varname = "name"); + ui_llabel(obj, .varname = "name", .hfill = TRUE, .vfill = TRUE); ui_newline(obj); ui_combobox(obj, .varname = "doclist", .colspan = 2, .onactivate = switch_document, .getvalue = doclist_get_value, .colspan = 2, .hfill = TRUE);
--- a/ui/motif/label.c Tue Nov 18 13:33:38 2025 +0100 +++ b/ui/motif/label.c Tue Nov 18 13:40:15 2025 +0100 @@ -110,15 +110,15 @@ } void ui_label_set(UiString *s, const char *str) { + Widget w = s->obj; + XmString s1 = XmStringCreateLocalized(str ? (char*)str : ""); + XtVaSetValues(w, XmNlabelString, s1, NULL); + XmStringFree(s1); if(s->value.free) { s->value.free(s->value.ptr); s->value.free = NULL; s->value.ptr = NULL; } - Widget w = s->obj; - XmString s1 = XmStringCreateLocalized(str ? (char*)str : ""); - XtVaSetValues(w, XmNlabelString, s1, NULL); - XmStringFree(s1); } /* -------------------------- progressbar/spiner -------------------------- */