summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libnm-util/nm-connection.c2
-rw-r--r--libnm-util/nm-setting.c6
-rw-r--r--src/settings/plugins/keyfile/reader.c4
3 files changed, 8 insertions, 4 deletions
diff --git a/libnm-util/nm-connection.c b/libnm-util/nm-connection.c
index 7e588aeec1..c4dd2124e2 100644
--- a/libnm-util/nm-connection.c
+++ b/libnm-util/nm-connection.c
@@ -170,7 +170,7 @@ nm_connection_create_setting (const char *name)
type = nm_connection_lookup_setting_type (name);
if (type)
- setting = (NMSetting *) g_object_new (type, NULL);
+ setting = (NMSetting *) g_object_new (type, NM_SETTING_NAME, name, NULL);
return setting;
}
diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c
index 6b5753afb2..3e85b5c620 100644
--- a/libnm-util/nm-setting.c
+++ b/libnm-util/nm-setting.c
@@ -386,7 +386,7 @@ duplicate_setting (NMSetting *setting,
GParamFlags flags,
gpointer user_data)
{
- if (flags & G_PARAM_WRITABLE)
+ if ((flags & G_PARAM_WRITABLE) && !(flags & G_PARAM_CONSTRUCT_ONLY))
g_object_set_property (G_OBJECT (user_data), name, value);
}
@@ -406,7 +406,9 @@ nm_setting_duplicate (NMSetting *setting)
g_return_val_if_fail (NM_IS_SETTING (setting), NULL);
- dup = g_object_new (G_OBJECT_TYPE (setting), NULL);
+ dup = g_object_new (G_OBJECT_TYPE (setting),
+ NM_SETTING_NAME, nm_setting_get_name (setting),
+ NULL);
g_object_freeze_notify (dup);
nm_setting_enumerate_values (setting, duplicate_setting, dup);
diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c
index e8c06ff4af..401c7fdfd6 100644
--- a/src/settings/plugins/keyfile/reader.c
+++ b/src/settings/plugins/keyfile/reader.c
@@ -1207,7 +1207,9 @@ nm_keyfile_plugin_connection_from_file (const char *filename, GError **error)
base_setting_type = nm_connection_lookup_setting_type (ctype);
if (base_setting_type != G_TYPE_INVALID) {
- base_setting = (NMSetting *) g_object_new (base_setting_type, NULL);
+ base_setting = (NMSetting *) g_object_new (base_setting_type,
+ NM_SETTING_NAME, ctype,
+ NULL);
g_assert (base_setting);
nm_connection_add_setting (connection, base_setting);
}