From: Daniel Wagner <[email protected]>
If a service changes the signal strength while it is in
idle state, we will mostlikely send a ServiceChanged signal
even though nothing has changed. There is code for checking
if something has changed in the order but it works only for
a few cases.
---
Hi,
I guess the proper solution would be to sort into a tempory list
and compare the result.
cheers,
daniel
src/service.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/service.c b/src/service.c
index e944ff5..85861ee 100644
--- a/src/service.c
+++ b/src/service.c
@@ -6260,10 +6260,13 @@ void __connman_service_update_from_network(struct
connman_network *network)
goto roaming;
service->strength = strength;
- need_sort = TRUE;
-
strength_changed(service);
+ if (is_connecting(service) == TRUE ||
+ is_connected(service) == TRUE) {
+ need_sort = TRUE;
+ }
+
roaming:
roaming = connman_network_get_bool(service->network, "Roaming");
if (roaming == service->roaming)
--
1.7.11.1.165.g299666c
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman