From 241286a23b2dc7ff97b274fe991bf4028a3d1b95 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 24 Sep 2022 20:21:07 -0400 Subject: [PATCH] Fix g_param_is_valid for GParam The is_valid vfunc need to return the same condition that the validate vfunc uses to determine whether to 'fix' the value. param_param_validate is considering NULL to be a valid value, so param_param_is_valid needs to do the same. Fixes: #8576 --- gobject/gparamspecs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c index f17b3488b..c3e4e446a 100644 --- a/gobject/gparamspecs.c +++ b/gobject/gparamspecs.c @@ -894,7 +894,7 @@ param_param_is_valid (GParamSpec *pspec, { GParamSpec *param = value->data[0].v_pointer; - return g_value_type_compatible (G_PARAM_SPEC_TYPE (param), G_PARAM_SPEC_VALUE_TYPE (pspec)); + return !param || g_value_type_compatible (G_PARAM_SPEC_TYPE (param), G_PARAM_SPEC_VALUE_TYPE (pspec)); } static gboolean