From e98d1869eb0b267f2163eed00abbc9465b740a71 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 19 Nov 2012 15:30:48 -0500 Subject: [PATCH] core: fix up virtual device creation on connection creation Previously, when a new bond or VLAN connection was created, NM would always create the virtual device right away. But on startup, it only creates virtual devices for connections that can autoconnect. Fix connection_added() to make that check as well. --- src/nm-manager.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/nm-manager.c b/src/nm-manager.c index 83fbef82c7..72c194a980 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -1167,17 +1167,24 @@ system_create_virtual_devices (NMManager *self) static void connection_added (NMSettings *settings, - NMSettingsConnection *connection, + NMSettingsConnection *settings_connection, NMManager *manager) { - if (connection_needs_virtual_device (NM_CONNECTION (connection))) - system_create_virtual_device (manager, NM_CONNECTION (connection)); + NMConnection *connection = NM_CONNECTION (settings_connection); + + if (connection_needs_virtual_device (connection)) { + NMSettingConnection *s_con = nm_connection_get_setting_connection (connection); + + g_assert (s_con); + if (nm_setting_connection_get_autoconnect (s_con)) + system_create_virtual_device (manager, connection); + } } static void connection_changed (NMSettings *settings, - NMSettingsConnection *connection, - NMManager *manager) + NMSettingsConnection *connection, + NMManager *manager) { /* FIXME: Some virtual devices may need to be updated in the future. */ }