]> granicus.if.org Git - ejabberd/commitdiff
Ensure set_presence changes are kept in state (thanks to Davide Colombo)(EJAB-1184)
authorBadlop <badlop@process-one.net>
Fri, 27 Mar 2015 14:03:14 +0000 (15:03 +0100)
committerBadlop <badlop@process-one.net>
Fri, 27 Mar 2015 14:03:14 +0000 (15:03 +0100)
src/ejabberd_c2s.erl

index bc93a61f275309ca23907958ee4b17694364fc7d..91b4faf54278f14ab2d429473ee2837db2e5610f 100644 (file)
@@ -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