From: Badlop Date: Fri, 27 Mar 2015 14:03:14 +0000 (+0100) Subject: Ensure set_presence changes are kept in state (thanks to Davide Colombo)(EJAB-1184) X-Git-Tag: 15.04~71 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c96d30719d266c71df0abad9867b4929a3d5f70;p=ejabberd Ensure set_presence changes are kept in state (thanks to Davide Colombo)(EJAB-1184) --- 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