[glib/gobject-speedups: 11/13] Avoid g_value_type_compatible
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/gobject-speedups: 11/13] Avoid g_value_type_compatible
- Date: Sat, 21 May 2022 11:30:38 +0000 (UTC)
commit e0da0aa1e9d463e0ad26336d64f30b04f47f5f8c
Author: Matthias Clasen <mclasen redhat com>
Date: Thu May 19 18:25:50 2022 -0400
Avoid g_value_type_compatible
99% of the time, we deal with a value that was
just collected with the exact pspec type, so this
checking for that first will avoid almost all
g_value_type_compatible calls.
gobject/gobject.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/gobject/gobject.c b/gobject/gobject.c
index a982e7fe49..ecd8e54495 100644
--- a/gobject/gobject.c
+++ b/gobject/gobject.c
@@ -1609,7 +1609,8 @@ object_set_property (GObject *object,
consider_issuing_property_deprecation_warning (pspec);
pclass = G_PARAM_SPEC_GET_CLASS (pspec);
- if (g_value_type_compatible (G_VALUE_TYPE (value), pspec->value_type) &&
+ if ((G_VALUE_TYPE (value) == pspec->value_type ||
+ g_value_type_compatible (G_VALUE_TYPE (value), pspec->value_type)) &&
(pclass->value_validate == NULL ||
(pclass->value_is_valid != NULL && pclass->value_is_valid (pspec, value))))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]