[glib/gobject-speedups: 19/23] Avoid g_param_spec_get_redirect_target




commit 713566e2b659ca104f0d13a12feadeb3e19faa25
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu May 19 21:00:37 2022 -0400

    Avoid g_param_spec_get_redirect_target

 gobject/gobject.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)
---
diff --git a/gobject/gobject.c b/gobject/gobject.c
index 12135b6a9c..c02d93ac83 100644
--- a/gobject/gobject.c
+++ b/gobject/gobject.c
@@ -1576,7 +1576,6 @@ object_get_property (GObject     *object,
 {
   GObjectClass *class = g_type_class_peek (pspec->owner_type);
   guint param_id = PARAM_SPEC_PARAM_ID (pspec);
-  GParamSpec *redirect;
 
   if (class == NULL)
     {
@@ -1585,9 +1584,8 @@ object_get_property (GObject     *object,
       return;
     }
 
-  redirect = g_param_spec_get_redirect_target (pspec);
-  if (redirect)
-    pspec = redirect;
+  if (G_IS_PARAM_SPEC_OVERRIDE (pspec))
+    pspec = ((GParamSpecOverride *)pspec)->overridden;
 
   consider_issuing_property_deprecation_warning (pspec);
 
@@ -1603,7 +1601,6 @@ object_set_property (GObject             *object,
   GObjectClass *class = g_type_class_peek (pspec->owner_type);
   GParamSpecClass *pclass;
   guint param_id = PARAM_SPEC_PARAM_ID (pspec);
-  GParamSpec *redirect;
 
   if (G_UNLIKELY (class == NULL))
     {
@@ -1612,13 +1609,13 @@ object_set_property (GObject             *object,
       return;
     }
 
-  redirect = g_param_spec_get_redirect_target (pspec);
-  if (redirect)
-    pspec = redirect;
+  if (G_IS_PARAM_SPEC_OVERRIDE (pspec))
+    pspec = ((GParamSpecOverride *)pspec)->overridden;
 
   consider_issuing_property_deprecation_warning (pspec);
 
   pclass = G_PARAM_SPEC_GET_CLASS (pspec);
+
   if ((G_VALUE_TYPE (value) == pspec->value_type ||
        g_value_type_compatible (G_VALUE_TYPE (value), pspec->value_type)) &&
       (pclass->value_validate == NULL ||


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]