summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Leffler <sleffler@google.com>2009-10-19 10:57:42 -0700
committerMarcel Holtmann <marcel@holtmann.org>2009-10-20 22:08:18 +0200
commite7cc2b808c75dc02e3948d220b0ffd231f2634d3 (patch)
tree162c8e46e47fe29b15f56c283ada892672fac5b1
parent14921d074bd7f6d47bce8ad955baf088446e64ac (diff)
downloadconnman-e7cc2b808c75dc02e3948d220b0ffd231f2634d3.tar.gz
connman-e7cc2b808c75dc02e3948d220b0ffd231f2634d3.tar.bz2
connman-e7cc2b808c75dc02e3948d220b0ffd231f2634d3.zip
Update services sorting after a signal strength change
-rw-r--r--src/service.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 7c26606e..7986cd42 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2299,6 +2299,7 @@ void __connman_service_update_from_network(struct connman_network *network)
enum connman_service_mode mode;
connman_uint8_t strength, value;
connman_bool_t roaming;
+ GSequenceIter *iter;
service = __connman_service_lookup_from_network(network);
if (service == NULL)
@@ -2324,6 +2325,10 @@ roaming:
roaming_changed(service);
+ iter = g_hash_table_lookup(service_hash, service->identifier);
+ if (iter != NULL)
+ g_sequence_sort_changed(iter, service_compare, NULL);
+
done:
if (service->type != CONNMAN_SERVICE_TYPE_CELLULAR)
return;