diff --git a/src/input.cpp b/src/input.cpp index bf4a1859..f57a28cb 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -1722,4 +1722,14 @@ namespace input { return input; } + + void set_activity_pointers( + std::shared_ptr &input, + std::atomic *keyboard_ms, + std::atomic *mouse_ms, + std::atomic *gamepad_ms) { + input->activity_keyboard_ms = keyboard_ms; + input->activity_mouse_ms = mouse_ms; + input->activity_gamepad_ms = gamepad_ms; + } } // namespace input diff --git a/src/input.h b/src/input.h index 5b564f04..82a52e6e 100644 --- a/src/input.h +++ b/src/input.h @@ -24,6 +24,12 @@ namespace input { std::shared_ptr alloc(safe::mail_t mail); + void set_activity_pointers( + std::shared_ptr &input, + std::atomic *keyboard_ms, + std::atomic *mouse_ms, + std::atomic *gamepad_ms); + struct touch_port_t: public platf::touch_port_t { int env_width, env_height; diff --git a/src/stream.cpp b/src/stream.cpp index 11d87257..4c6c7e9b 100644 --- a/src/stream.cpp +++ b/src/stream.cpp @@ -2051,9 +2051,11 @@ namespace stream { int start(session_t &session, const std::string &addr_string) { session.input = input::alloc(session.mail); - session.input->activity_keyboard_ms = &session.input_activity.last_keyboard_ms; - session.input->activity_mouse_ms = &session.input_activity.last_mouse_ms; - session.input->activity_gamepad_ms = &session.input_activity.last_gamepad_ms; + input::set_activity_pointers( + session.input, + &session.input_activity.last_keyboard_ms, + &session.input_activity.last_mouse_ms, + &session.input_activity.last_gamepad_ms); session.broadcast_ref = broadcast.ref(); if (!session.broadcast_ref) {