From: Patrik Flykt <[email protected]>
Whenever the sort order is updated, schedule ServicesChanged
signal to be sent.
---
src/service.c | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/service.c b/src/service.c
index 883a8b1..f72ec38 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3891,6 +3891,7 @@ int __connman_service_set_favorite(struct connman_service
*service,
favorite_changed(service);
g_sequence_sort_changed(iter, service_compare, NULL);
+ service_schedule_changed();
__connman_connection_update_gateway();
@@ -4194,8 +4195,10 @@ static int service_indicate_state(struct connman_service
*service)
service->error = CONNMAN_SERVICE_ERROR_UNKNOWN;
iter = g_hash_table_lookup(service_hash, service->identifier);
- if (iter != NULL)
+ if (iter != NULL) {
g_sequence_sort_changed(iter, service_compare, NULL);
+ service_schedule_changed();
+ }
__connman_connection_update_gateway();
@@ -4906,8 +4909,10 @@ static int service_register(struct connman_service
*service)
NULL, service, NULL);
iter = g_hash_table_lookup(service_hash, service->identifier);
- if (iter != NULL)
+ if (iter != NULL) {
g_sequence_sort_changed(iter, service_compare, NULL);
+ service_schedule_changed();
+ }
__connman_connection_update_gateway();
@@ -5294,8 +5299,10 @@ static void update_from_network(struct connman_service
*service,
service->network = connman_network_ref(network);
iter = g_hash_table_lookup(service_hash, service->identifier);
- if (iter != NULL)
+ if (iter != NULL) {
g_sequence_sort_changed(iter, service_compare, NULL);
+ service_schedule_changed();
+ }
}
/**
@@ -5449,8 +5456,10 @@ roaming:
sorting:
if (need_sort == TRUE) {
iter = g_hash_table_lookup(service_hash, service->identifier);
- if (iter != NULL)
+ if (iter != NULL) {
g_sequence_sort_changed(iter, service_compare, NULL);
+ service_schedule_changed();
+ }
}
}
--
1.7.9.1
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman