This fixes the issue when signal_peer_disconnected() does not propagate
the nominal event to plugins/wifi.c thus letting the peer as "ready" in
src/peer.c when it should be set to "idle" (and properly disconnected).
---
 gsupplicant/supplicant.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 060a4df..3bdf0dc 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -3086,7 +3086,11 @@ static void signal_group_peer_disconnected(const char 
*path, DBusMessageIter *it
        if (!peer_path)
                return;
 
-       elem = g_slist_find_custom(group->members, peer_path, g_str_equal);
+       for (elem = group->members; elem; elem = elem->next) {
+               if (!g_strcmp0(elem->data, peer_path))
+                       break;
+       }
+
        if (!elem)
                return;
 
-- 
2.0.5

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to