From 9c96d30719d266c71df0abad9867b4929a3d5f70 Mon Sep 17 00:00:00 2001 From: Badlop Date: Fri, 27 Mar 2015 15:03:14 +0100 Subject: [PATCH] Ensure set_presence changes are kept in state (thanks to Davide Colombo)(EJAB-1184) --- src/ejabberd_c2s.erl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index bc93a61f2..91b4faf54 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1738,8 +1738,9 @@ handle_info(system_shutdown, StateName, StateData) -> end, {stop, normal, StateData}; handle_info({route_xmlstreamelement, El}, StateName, StateData) -> - session_established({xmlstreamelement, El}, StateData), - fsm_next_state(StateName, StateData); + {next_state, NStateName, NStateData, _Timeout} = + session_established({xmlstreamelement, El}, StateData), + fsm_next_state(NStateName, NStateData); handle_info({force_update_presence, LUser}, StateName, #state{user = LUser, server = LServer} = StateData) -> NewStateData = case StateData#state.pres_last of