From c76bbdf16f9eb9f0ee4afeb1fb86bfbfd4b17ce1 Mon Sep 17 00:00:00 2001 From: Badlop Date: Tue, 23 Aug 2011 21:53:19 +0200 Subject: [PATCH] Don't send unavailable presence when leaving occupant has other nicks in the room (EJAB-305) --- src/mod_muc/mod_muc_room.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl index f81611e1a..e7a9ba714 100644 --- a/src/mod_muc/mod_muc_room.erl +++ b/src/mod_muc/mod_muc_room.erl @@ -893,7 +893,10 @@ process_presence(From, Nick, {xmlelement, "presence", Attrs, _Els} = Packet, end, NewState = add_user_presence_un(From, NewPacket, StateData), - send_new_presence(From, NewState), + case ?DICT:find(Nick, StateData#state.nicks) of + {ok, [_, _ | _]} -> ok; + _ -> send_new_presence(From, NewState) + end, Reason = case xml:get_subtag(NewPacket, "status") of false -> ""; Status_el -> xml:get_tag_cdata(Status_el) -- 2.40.0