From 97354426cfb142510ba42bc76894c3a998a35419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= Date: Mon, 23 Mar 2020 13:16:48 +0100 Subject: Make mod_muc_room:unsubscirbe handle that unsubscribe may stop room --- src/mod_muc_room.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl index 4d8816e97..0ff547cfe 100644 --- a/src/mod_muc_room.erl +++ b/src/mod_muc_room.erl @@ -741,10 +741,13 @@ handle_sync_event({muc_subscribe, From, Nick, Nodes}, _From, {error, Err} -> {reply, {error, get_error_text(Err)}, StateName, StateData} end; -handle_sync_event({muc_unsubscribe, From}, _From, StateName, StateData) -> +handle_sync_event({muc_unsubscribe, From}, _From, StateName, + #state{config = Conf} = StateData) -> IQ = #iq{type = set, id = p1_rand:get_string(), from = From, sub_els = [#muc_unsubscribe{}]}, case process_iq_mucsub(From, IQ, StateData) of + {result, _, stop} -> + {stop, ok, normal, StateData#state{config = Conf#config{persistent = false}}}; {result, _, NewState} -> {reply, ok, StateName, NewState}; {ignore, NewState} -> -- cgit v1.2.3