summaryrefslogtreecommitdiff
path: root/src/nm-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-manager.c')
-rw-r--r--src/nm-manager.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c
index e3035c003e..65fb5682c4 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -686,6 +686,11 @@ check_if_startup_complete (NMManager *self)
if (!priv->startup)
return;
+ if (!nm_settings_get_startup_complete (priv->settings)) {
+ nm_log_dbg (LOGD_CORE, "check_if_startup_complete returns FALSE because of NMSettings");
+ return;
+ }
+
for (iter = priv->devices; iter; iter = iter->next) {
NMDevice *dev = iter->data;
@@ -721,6 +726,14 @@ device_has_pending_action_changed (NMDevice *device,
}
static void
+settings_startup_complete_changed (NMSettings *settings,
+ GParamSpec *pspec,
+ NMManager *self)
+{
+ check_if_startup_complete (self);
+}
+
+static void
remove_device (NMManager *manager,
NMDevice *device,
gboolean quitting,
@@ -4720,6 +4733,8 @@ nm_manager_new (NMSettings *settings,
priv->prop_filter_added = TRUE;
priv->settings = g_object_ref (settings);
+ g_signal_connect (priv->settings, "notify::" NM_SETTINGS_STARTUP_COMPLETE,
+ G_CALLBACK (settings_startup_complete_changed), singleton);
priv->state_file = g_strdup (state_file);