diff --git a/src/nm-policy.c b/src/nm-policy.c index b81076c1b8..534ca069f8 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -1222,8 +1222,7 @@ auto_activate_device (NMPolicy *self, const char *permission; if ( !nm_settings_connection_is_visible (candidate) - || nm_settings_connection_autoconnect_retries_get (candidate) == 0 - || nm_settings_connection_autoconnect_blocked_reason_get (candidate, NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_ALL)) + || nm_settings_connection_autoconnect_is_blocked (candidate)) continue; s_con = nm_connection_get_setting_connection (NM_CONNECTION (candidate)); diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c index b7f16f21b2..71ef2e49ad 100644 --- a/src/settings/nm-settings-connection.c +++ b/src/settings/nm-settings-connection.c @@ -2646,6 +2646,15 @@ nm_settings_connection_autoconnect_blocked_reason_set_full (NMSettingsConnection return TRUE; } +gboolean +nm_settings_connection_autoconnect_is_blocked (NMSettingsConnection *self) +{ + NMSettingsConnectionPrivate *priv = NM_SETTINGS_CONNECTION_GET_PRIVATE (self); + + return !priv->autoconnect_blocked_reason + && priv->autoconnect_retries != 0; +} + /*****************************************************************************/ /** diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h index 5950ef4267..7caf42b717 100644 --- a/src/settings/nm-settings-connection.h +++ b/src/settings/nm-settings-connection.h @@ -239,6 +239,8 @@ nm_settings_connection_autoconnect_blocked_reason_set (NMSettingsConnection *sel return nm_settings_connection_autoconnect_blocked_reason_set_full (self, mask, set ? mask : NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_NONE); } +gboolean nm_settings_connection_autoconnect_is_blocked (NMSettingsConnection *self); + gboolean nm_settings_connection_get_nm_generated (NMSettingsConnection *self); gboolean nm_settings_connection_get_volatile (NMSettingsConnection *self);