Update services sorting after a signal strength change
authorSam Leffler <sleffler@google.com>
Mon, 19 Oct 2009 17:57:42 +0000 (10:57 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 20 Oct 2009 20:08:18 +0000 (22:08 +0200)
src/service.c

index 7c26606..7986cd4 100644 (file)
@@ -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;