aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2011-12-14 14:19:10 -0600
committerDan Williams <dcbw@redhat.com>2011-12-14 14:19:10 -0600
commit9f14d830472f77b89ed54d1269c741e787ca10c3 (patch)
treef6287ce255accb5e574ef26e018850ff044f6f93
parent2af1a612e9187c0e2bf3a8e3d007f04aa023add9 (diff)
gsm: treat "no network" error as zero signal for Simple.GetStatus
-rw-r--r--src/mm-generic-gsm.c9
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 {