diff options
-rw-r--r-- | src/service.c | 5 |
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; |