aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mod_muc_room.erl5
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} ->