diff options
author | Dan Williams <dcbw@redhat.com> | 2011-12-14 14:19:10 -0600 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2011-12-14 14:19:10 -0600 |
commit | 9f14d830472f77b89ed54d1269c741e787ca10c3 (patch) | |
tree | f6287ce255accb5e574ef26e018850ff044f6f93 /src | |
parent | 2af1a612e9187c0e2bf3a8e3d007f04aa023add9 (diff) |
gsm: treat "no network" error as zero signal for Simple.GetStatus
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-generic-gsm.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index 6c7b938c..eebdbce1 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -5777,8 +5777,15 @@ simple_status_got_signal_quality (MMModem *modem, { MMCallbackInfo *info = (MMCallbackInfo *) user_data; GHashTable *properties; + gboolean error_no_network = FALSE; - if (!error) { + /* Treat "no network" as zero strength */ + if (g_error_matches (error, MM_MOBILE_ERROR, MM_MOBILE_ERROR_NO_NETWORK)) { + error_no_network = TRUE; + result = 0; + } + + if (!error || error_no_network) { properties = (GHashTable *) mm_callback_info_get_data (info, SS_HASH_TAG); g_hash_table_insert (properties, "signal_quality", simple_uint_value (result)); } else { |