diff options
Diffstat (limited to 'remoting/host/client_session.cc')
-rw-r--r-- | remoting/host/client_session.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/remoting/host/client_session.cc b/remoting/host/client_session.cc index f172259..58320c9 100644 --- a/remoting/host/client_session.cc +++ b/remoting/host/client_session.cc @@ -41,13 +41,10 @@ ClientSession::ClientSession( connection_factory_(connection_.get()), desktop_environment_(desktop_environment_factory->Create()), client_jid_(connection_->session()->jid()), - host_clipboard_stub_(desktop_environment_->event_executor()), - host_input_stub_(desktop_environment_->event_executor()), - input_tracker_(host_input_stub_), + input_tracker_(&host_input_filter_), remote_input_filter_(&input_tracker_), - mouse_clamping_filter_(desktop_environment_->video_capturer(), - &remote_input_filter_), - disable_input_filter_(&mouse_clamping_filter_), + mouse_clamping_filter_(&remote_input_filter_, connection_->video_stub()), + disable_input_filter_(mouse_clamping_filter_.input_filter()), disable_clipboard_filter_(clipboard_echo_filter_.host_filter()), auth_input_filter_(&disable_input_filter_), auth_clipboard_filter_(&disable_clipboard_filter_), @@ -66,7 +63,6 @@ ClientSession::ClientSession( connection_->set_clipboard_stub(&auth_clipboard_filter_); connection_->set_host_stub(this); connection_->set_input_stub(&auth_input_filter_); - clipboard_echo_filter_.set_host_stub(host_clipboard_stub_); // |auth_*_filter_|'s states reflect whether the session is authenticated. auth_input_filter_.set_enabled(false); @@ -127,6 +123,11 @@ void ClientSession::OnConnectionChannelsConnected( protocol::ConnectionToClient* connection) { DCHECK(CalledOnValidThread()); DCHECK_EQ(connection_.get(), connection); + + // Connect the host clipboard and input stubs. + host_input_filter_.set_input_stub(desktop_environment_->event_executor()); + clipboard_echo_filter_.set_host_stub(desktop_environment_->event_executor()); + SetDisableInputs(false); // Let the desktop environment notify us of local clipboard changes. @@ -148,7 +149,7 @@ void ClientSession::OnConnectionChannelsConnected( desktop_environment_->video_capturer(), video_encoder.Pass(), connection_->client_stub(), - connection_->video_stub()); + &mouse_clamping_filter_); ++active_recorders_; // Create an AudioScheduler if audio is enabled, to pump audio samples. |