summaryrefslogtreecommitdiff
path: root/gobject/gobject.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-09-20 08:20:04 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-09-20 08:21:49 -0400
commit497986cdc1fe9e7f719ca8982b2f7c7942f081c6 (patch)
tree072c9c9c0ea5306b351804ade969018f0369a5cd /gobject/gobject.c
parent23e37e05d2134270243852e519e9c715e37aa496 (diff)
downloadglib-prop-set-speedups.tar.gz
Small optimization for g_object_setvprop-set-speedups
No need to call memset in the loop, we can just initialize all the values in one go. GtkBuilder is now using g_object_setv, so this may improve application start times a bit.
Diffstat (limited to 'gobject/gobject.c')
-rw-r--r--gobject/gobject.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gobject/gobject.c b/gobject/gobject.c
index 3767058c4..879ed848b 100644
--- a/gobject/gobject.c
+++ b/gobject/gobject.c
@@ -2523,17 +2523,14 @@ g_object_getv (GObject *object,
g_object_ref (object);
+ memset (values, 0, n_properties * sizeof (GValue));
+
obj_type = G_OBJECT_TYPE (object);
for (i = 0; i < n_properties; i++)
{
- pspec = g_param_spec_pool_lookup (pspec_pool,
- names[i],
- obj_type,
- TRUE);
+ pspec = g_param_spec_pool_lookup (pspec_pool, names[i], obj_type, TRUE);
if (!g_object_get_is_valid_property (object, pspec, names[i]))
break;
-
- memset (&values[i], 0, sizeof (GValue));
g_value_init (&values[i], pspec->value_type);
object_get_property (object, pspec, &values[i]);
}