diff options
author | Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> | 2015-01-15 13:43:02 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2015-01-15 13:54:18 +0200 |
commit | 5d75c8b4a4fba91d42f6b3e021bf10c1a3099815 (patch) | |
tree | f7755924c99bdbfa1f22ccd349c605fa1d99504d /gsupplicant | |
parent | 68248c432f890da027bbc1aea5d066adf11b1762 (diff) | |
download | connman-5d75c8b4a4fba91d42f6b3e021bf10c1a3099815.tar.gz |
gsupplicant: Find the peer properly in the group when disconnected
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).
Diffstat (limited to 'gsupplicant')
-rw-r--r-- | gsupplicant/supplicant.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 060a4df2..3bdf0dc0 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; |