diff --git a/libfreerdp/core/connection.c b/libfreerdp/core/connection.c index 1bf9417d4..45b1cc10c 100644 --- a/libfreerdp/core/connection.c +++ b/libfreerdp/core/connection.c @@ -1592,8 +1592,11 @@ BOOL rdp_server_reactivate(rdpRdp* rdp) return FALSE; rdp_finalize_set_flag(rdp, FINALIZE_DEACTIVATE_REACTIVATE); - return rdp_server_transition_to_state(rdp, - CONNECTION_STATE_CAPABILITIES_EXCHANGE_DEMAND_ACTIVE); + if (!rdp_server_transition_to_state(rdp, CONNECTION_STATE_CAPABILITIES_EXCHANGE_DEMAND_ACTIVE)) + return FALSE; + + state_run_t rc = rdp_peer_handle_state_demand_active(client); + return state_run_success(rc); } static BOOL rdp_is_active_peer_state(CONNECTION_STATE state)