[glib/gobject-speedups: 10/22] Simplify g_object_new_with_properties
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/gobject-speedups: 10/22] Simplify g_object_new_with_properties
- Date: Fri, 20 May 2022 11:44:14 +0000 (UTC)
commit 84d959fcfd56ff3b4365d007793c88b36e4a8955
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Sep 29 00:18:51 2021 -0400
Simplify g_object_new_with_properties
This was doing an unnecessary extra copy of
the GValues. We can avoid that.
gobject/gobject.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
---
diff --git a/gobject/gobject.c b/gobject/gobject.c
index e1cda24da2..dadc557dbd 100644
--- a/gobject/gobject.c
+++ b/gobject/gobject.c
@@ -2181,18 +2181,10 @@ g_object_new_with_properties (GType object_type,
if (!g_object_new_is_valid_property (object_type, pspec, names[i], params, count))
continue;
params[count].pspec = pspec;
-
- /* Init GValue */
- params[count].value = g_newa0 (GValue, 1);
- g_value_init (params[count].value, G_VALUE_TYPE (&values[i]));
-
- g_value_copy (&values[i], params[count].value);
+ params[count].value = (GValue *)&values[i];
count++;
}
object = g_object_new_internal (class, params, count);
-
- while (count--)
- g_value_unset (params[count].value);
}
else
object = g_object_new_internal (class, NULL, 0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]