diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_muc_room.erl | 5 |
1 files changed, 4 insertions, 1 deletions
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} -> |