From e735054347ea53b212a0644c596170a880858305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20M=C3=ADchal?= Date: Wed, 7 Jan 2026 16:03:18 +0200 Subject: [PATCH] libgimp: Handle integer properties bound to GimpSpinScale in procedure dialogs Setting a step/page size of less than one for a spin scale bound to an integer property does not make sense. Similarly the number of decimal digits shown can be set to 0. --- libgimp/gimpproceduredialog.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libgimp/gimpproceduredialog.c b/libgimp/gimpproceduredialog.c index 4e8c9a9b5b..259424250e 100644 --- a/libgimp/gimpproceduredialog.c +++ b/libgimp/gimpproceduredialog.c @@ -1511,6 +1511,14 @@ gimp_procedure_dialog_get_spin_scale (GimpProcedureDialog *dialog, } gimp_range_estimate_settings (minimum * factor, maximum * factor, &step, &page, &digits); + if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_UINT || + G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_INT) + { + digits = 0; + step = MAX(step, 1.f); + page = MAX(page, step); + } + widget = gimp_prop_spin_scale_new (G_OBJECT (priv->config), property, step, page, digits); if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_DOUBLE)