diff options
| author | Michael Biebl <biebl@debian.org> | 2016-03-30 00:56:30 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-03-30 00:56:30 +0200 |
| commit | d9c99a29a0d3384c9c3d2adce430f5cb1134ab6a (patch) | |
| tree | fa41baf72753961e71dd8d5bdbe2b89c9109e4f1 /libnm-util/nm-setting.c | |
| parent | c2de0d98ba39e0a1a970d066fd19be786092f376 (diff) | |
Imported Upstream version 1.1.92 upstream/1.1.92
Diffstat (limited to 'libnm-util/nm-setting.c')
| -rw-r--r-- | libnm-util/nm-setting.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c index add3ad97..990d6fe7 100644 --- a/libnm-util/nm-setting.c +++ b/libnm-util/nm-setting.c @@ -379,9 +379,6 @@ nm_setting_new_from_hash (GType setting_type, GHashTable *hash) const char *prop_name; GValue *src_value; GObjectClass *class; - guint n_params = 0; - GParameter *params; - int i; g_return_val_if_fail (G_TYPE_IS_INSTANTIATABLE (setting_type), NULL); g_return_val_if_fail (hash != NULL, NULL); @@ -390,11 +387,11 @@ nm_setting_new_from_hash (GType setting_type, GHashTable *hash) * already been used. */ class = g_type_class_ref (setting_type); - params = g_new0 (GParameter, g_hash_table_size (hash)); + + setting = (NMSetting *) g_object_new (setting_type, NULL); g_hash_table_iter_init (&iter, hash); while (g_hash_table_iter_next (&iter, (gpointer) &prop_name, (gpointer) &src_value)) { - GValue *dst_value = ¶ms[n_params].value; GParamSpec *param_spec; param_spec = g_object_class_find_property (class, prop_name); @@ -402,21 +399,12 @@ nm_setting_new_from_hash (GType setting_type, GHashTable *hash) /* Assume that any unrecognized property either can be ignored, or * else has a backward-compatibility equivalent. */ - g_debug ("Ignoring unrecognized property '%s'", prop_name); continue; } - g_value_init (dst_value, G_VALUE_TYPE (src_value)); - g_value_copy (src_value, dst_value); - params[n_params++].name = prop_name; + nm_g_object_set_property ((GObject *) setting, prop_name, src_value, NULL); } - setting = (NMSetting *) g_object_newv (setting_type, n_params, params); - - for (i = 0; i < n_params; i++) - g_value_unset (¶ms[i].value); - - g_free (params); g_type_class_unref (class); return setting; |