From f4d169fb757acb876be24006132610807a299bc1 Mon Sep 17 00:00:00 2001 From: kubistika Date: Wed, 25 Sep 2019 16:10:04 +0300 Subject: [PATCH] server: proxy: register input and update callbacks in post connect To avoid a race in which the server received an input event before proxy's client is initialized, we now only register input and update callbacks after client is initialized and safe to use. --- server/proxy/pf_server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/proxy/pf_server.c b/server/proxy/pf_server.c index 7c550c2..d010437 100644 --- a/server/proxy/pf_server.c +++ b/server/proxy/pf_server.c @@ -179,6 +179,8 @@ static BOOL pf_server_post_connect(freerdp_peer* client) return FALSE; } + pf_server_register_input_callbacks(client->input); + pf_server_register_update_callbacks(client->update); return TRUE; } @@ -254,8 +256,6 @@ static DWORD WINAPI pf_server_handle_client(LPVOID arg) client->PostConnect = pf_server_post_connect; client->Activate = pf_server_activate; client->AdjustMonitorsLayout = pf_server_adjust_monitor_layout; - pf_server_register_input_callbacks(client->input); - pf_server_register_update_callbacks(client->update); client->settings->MultifragMaxRequestSize = 0xFFFFFF; /* FIXME */ client->Initialize(client); WLog_INFO(TAG, "Client connected: %s", client->local ? "(local)" : client->hostname); -- 2.7.4