about summary refs log tree commit diff
path: root/src/settings/nm-settings.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2017-01-25 21:10:31 +0100
committerMichael Biebl <biebl@debian.org>2017-01-25 21:10:31 +0100
commitc05e3feee73cfa02ea85cddd914131da577edb0f (patch)
tree2cee29aa20c03007a1c0d56cc1376ffc64ed3aee /src/settings/nm-settings.c
parent3541705d4462868c0d93eaee7171c9d92c76a4d4 (diff)
parent7f4dff3943c64e1d0e5d13b2ac915088dde165e6 (diff)
Merge tag 'upstream/1.6.0'
Upstream version 1.6.0
Diffstat (limited to 'src/settings/nm-settings.c')
-rw-r--r--src/settings/nm-settings.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c
index 6a920d5c..35790a12 100644
--- a/src/settings/nm-settings.c
+++ b/src/settings/nm-settings.c
@@ -1112,8 +1112,10 @@ claim_connection (NMSettings *self, NMSettingsConnection *connection)
 	openconnect_migrate_hack (NM_CONNECTION (connection));
 
 	g_object_ref (self);
-	g_signal_connect (connection, NM_SETTINGS_CONNECTION_REMOVED,
-	                  G_CALLBACK (connection_removed), self);
+	/* This one unexports the connection, it needs to run late to give the active
+	 * connection a chance to deal with its reference to this settings connection. */
+	g_signal_connect_after (connection, NM_SETTINGS_CONNECTION_REMOVED,
+	                        G_CALLBACK (connection_removed), self);
 	g_signal_connect (connection, NM_SETTINGS_CONNECTION_UPDATED_INTERNAL,
 	                  G_CALLBACK (connection_updated), self);
 	g_signal_connect (connection, "notify::" NM_SETTINGS_CONNECTION_VISIBLE,