diff options
-rw-r--r-- | src/mm-iface-modem.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index 6d0aa9cd..51c3088c 100644 --- a/src/mm-iface-modem.c +++ b/src/mm-iface-modem.c @@ -73,9 +73,7 @@ typedef struct { /* If both signal and access tech polling are either unsupported * or disabled, we'll automatically stop polling */ gboolean signal_quality_polling_supported; - gboolean signal_quality_polling_disabled; gboolean access_technology_polling_supported; - gboolean access_technology_polling_disabled; /* Signal quality and access tech polling support */ gboolean signal_check_enabled; @@ -134,12 +132,6 @@ get_private (MMIfaceModem *self) priv->signal_quality_polling_supported = (MM_IFACE_MODEM_GET_IFACE (self)->load_signal_quality && MM_IFACE_MODEM_GET_IFACE (self)->load_signal_quality_finish); - /* Get plugin-specific setup for the polling logic */ - g_object_get (self, - MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, &priv->signal_quality_polling_disabled, - MM_IFACE_MODEM_PERIODIC_ACCESS_TECH_CHECK_DISABLED, &priv->access_technology_polling_disabled, - NULL); - g_object_set_qdata_full (G_OBJECT (self), private_quark, priv, (GDestroyNotify)private_free); } @@ -1835,11 +1827,18 @@ periodic_signal_check_step (GTask *task) MMIfaceModem *self; Private *priv; SignalCheckContext *ctx; + gboolean signal_quality_polling_disabled; + gboolean access_technology_polling_disabled; self = g_task_get_source_object (task); priv = get_private (self); ctx = g_task_get_task_data (task); + g_object_get (self, + MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED, &signal_quality_polling_disabled, + MM_IFACE_MODEM_PERIODIC_ACCESS_TECH_CHECK_DISABLED, &access_technology_polling_disabled, + NULL); + switch (ctx->running_step) { case SIGNAL_CHECK_STEP_FIRST: ctx->running_step++; @@ -1847,7 +1846,7 @@ periodic_signal_check_step (GTask *task) case SIGNAL_CHECK_STEP_SIGNAL_QUALITY: if (priv->signal_check_enabled && priv->signal_quality_polling_supported && - (!priv->signal_check_initial_done || !priv->signal_quality_polling_disabled)) { + (!priv->signal_check_initial_done || !signal_quality_polling_disabled)) { MM_IFACE_MODEM_GET_IFACE (self)->load_signal_quality ( self, (GAsyncReadyCallback)load_signal_quality_ready, task); return; @@ -1857,7 +1856,7 @@ periodic_signal_check_step (GTask *task) case SIGNAL_CHECK_STEP_ACCESS_TECHNOLOGIES: if (priv->signal_check_enabled && priv->access_technology_polling_supported && - (!priv->signal_check_initial_done || !priv->access_technology_polling_disabled)) { + (!priv->signal_check_initial_done || !access_technology_polling_disabled)) { MM_IFACE_MODEM_GET_IFACE (self)->load_access_technologies ( self, (GAsyncReadyCallback)load_access_technologies_ready, task); return; @@ -1899,8 +1898,8 @@ periodic_signal_check_step (GTask *task) * loading are either disabled or unsupported, we'll stop polling completely, * because they may be loaded asynchronously by unsolicited messages */ if (priv->signal_check_initial_done && - (!priv->signal_quality_polling_supported || priv->signal_quality_polling_disabled) && - (!priv->access_technology_polling_supported || priv->access_technology_polling_disabled)) { + (!priv->signal_quality_polling_supported || signal_quality_polling_disabled) && + (!priv->access_technology_polling_supported || access_technology_polling_disabled)) { mm_obj_dbg (self, "periodic signal quality and access technology checks not rescheduled: unneeded or unsupported"); periodic_signal_check_disable (self, FALSE); } else { |