[glib/gobject-speedup2] Simplify g_object_new_with_properties
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/gobject-speedup2] Simplify g_object_new_with_properties
- Date: Wed, 1 Jun 2022 17:31:24 +0000 (UTC)
commit 0b87adbcb9f5a67fca744c1a3600d2e05ecf8a9d
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Sep 29 00:18:51 2021 -0400
Simplify g_object_new_with_properties
This function 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 4b437be15f..07ae97edf4 100644
--- a/gobject/gobject.c
+++ b/gobject/gobject.c
@@ -2209,18 +2209,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]