diff -r b34bd1557c6c -r 77254bd6dccb ui/gtk/entry.c --- a/ui/gtk/entry.c Sat Apr 05 17:57:04 2025 +0200 +++ b/ui/gtk/entry.c Sun Jul 20 22:04:39 2025 +0200 @@ -35,24 +35,24 @@ #include "entry.h" -UIWIDGET ui_spinner_create(UiObject *obj, UiSpinnerArgs args) { +UIWIDGET ui_spinner_create(UiObject *obj, UiSpinnerArgs *args) { double min = 0; double max = 1000; UiObject* current = uic_current_obj(obj); UiVar *var = NULL; - if(args.varname) { - var = uic_get_var(obj->ctx, args.varname); + if(args->varname) { + var = uic_get_var(obj->ctx, args->varname); } if(!var) { - if(args.intvalue) { - var = uic_widget_var(obj->ctx, current->ctx, args.intvalue, NULL, UI_VAR_INTEGER); - } else if(args.doublevalue) { - var = uic_widget_var(obj->ctx, current->ctx, args.doublevalue, NULL, UI_VAR_DOUBLE); - } else if(args.rangevalue) { - var = uic_widget_var(obj->ctx, current->ctx, args.rangevalue, NULL, UI_VAR_RANGE); + if(args->intvalue) { + var = uic_widget_var(obj->ctx, current->ctx, args->intvalue, NULL, UI_VAR_INTEGER); + } else if(args->doublevalue) { + var = uic_widget_var(obj->ctx, current->ctx, args->doublevalue, NULL, UI_VAR_DOUBLE); + } else if(args->rangevalue) { + var = uic_widget_var(obj->ctx, current->ctx, args->rangevalue, NULL, UI_VAR_RANGE); } } @@ -61,18 +61,18 @@ min = r->min; max = r->max; } - if(args.step == 0) { - args.step = 1; + if(args->step == 0) { + args->step = 1; } #ifdef UI_GTK2LEGACY if(min == max) { max = min + 1; } #endif - GtkWidget *spin = gtk_spin_button_new_with_range(min, max, args.step); - ui_set_name_and_style(spin, args.name, args.style_class); - ui_set_widget_groups(obj->ctx, spin, args.groups); - gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), args.digits); + GtkWidget *spin = gtk_spin_button_new_with_range(min, max, args->step); + ui_set_name_and_style(spin, args->name, args->style_class); + ui_set_widget_groups(obj->ctx, spin, args->groups); + gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), args->digits); UiObserver **obs = NULL; if(var) { double value = 0; @@ -115,8 +115,8 @@ event->obj = obj; event->var = var; event->observers = obs; - event->callback = args.onchange; - event->userdata = args.onchangedata; + event->callback = args->onchange; + event->userdata = args->onchangedata; g_signal_connect( spin, @@ -129,8 +129,8 @@ G_CALLBACK(ui_destroy_vardata), event); - UI_APPLY_LAYOUT1(current, args); - current->container->add(current->container, spin, FALSE); + UI_APPLY_LAYOUT2(current, args); + current->container->add(current->container, spin); return spin; } @@ -150,7 +150,8 @@ e.obj = event->obj; e.window = event->obj->window; e.document = event->obj->ctx->document; - e.eventdata = &value; + e.eventdata = NULL; + e.eventdatatype = 0; e.intval = (int64_t)value; if(event->callback) {