diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c index 64fec2b12d..54b3de1621 100644 --- a/src/settings/nm-settings-connection.c +++ b/src/settings/nm-settings-connection.c @@ -655,11 +655,12 @@ nm_settings_connection_replace_settings (NMSettingsConnection *self, error); } -gboolean -nm_settings_connection_commit_changes (NMSettingsConnection *self, - NMConnection *new_connection, - NMSettingsConnectionCommitReason commit_reason, - GError **error) +static gboolean +_commit_changes_full (NMSettingsConnection *self, + NMConnection *new_connection, + gboolean prepare_new_connection, + NMSettingsConnectionCommitReason commit_reason, + GError **error) { NMSettingsConnectionClass *klass; gs_free_error GError *local = NULL; @@ -679,7 +680,8 @@ nm_settings_connection_commit_changes (NMSettingsConnection *self, return FALSE; } - if ( new_connection + if ( prepare_new_connection + && new_connection && !nm_settings_connection_replace_settings_prepare (self, new_connection, &local)) { @@ -731,6 +733,19 @@ nm_settings_connection_commit_changes (NMSettingsConnection *self, return TRUE; } +gboolean +nm_settings_connection_commit_changes (NMSettingsConnection *self, + NMConnection *new_connection, + NMSettingsConnectionCommitReason commit_reason, + GError **error) +{ + return _commit_changes_full (self, + new_connection, + TRUE, + commit_reason, + error); +} + static void remove_entry_from_db (NMSettingsConnection *self, const char* db_name) {