From a50a515713c1bff641f6c27fee84784ac3234d28 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Mon, 23 Oct 2023 12:17:23 +0200 Subject: [PATCH] [channel,rail] keep reference to rdpContext --- channels/rail/client/rail_main.c | 2 ++ client/common/client_rails.c | 9 ++------- include/freerdp/client/rail.h | 2 ++ 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/channels/rail/client/rail_main.c b/channels/rail/client/rail_main.c index 63fcd4c81234..8cd3292336c4 100644 --- a/channels/rail/client/rail_main.c +++ b/channels/rail/client/rail_main.c @@ -710,6 +710,8 @@ FREERDP_ENTRY_POINT(BOOL VCAPITYPE VirtualChannelEntryEx(PCHANNEL_ENTRY_POINTS p context->handle = (void*)rail; context->custom = NULL; + context->rdpcontext = pEntryPointsEx->context; + context->ClientExecute = rail_client_execute; context->ClientActivate = rail_client_activate; context->ClientSystemParam = rail_client_system_param; diff --git a/client/common/client_rails.c b/client/common/client_rails.c index 4473cf737826..298e25f0e736 100644 --- a/client/common/client_rails.c +++ b/client/common/client_rails.c @@ -10,16 +10,11 @@ UINT client_rail_server_start_cmd(RailClientContext* context) RAIL_EXEC_ORDER exec = { 0 }; RAIL_SYSPARAM_ORDER sysparam = { 0 }; RAIL_CLIENT_STATUS_ORDER clientStatus = { 0 }; - rdpClientContext* ctx; - rdpSettings* settings; WINPR_ASSERT(context); + WINPR_ASSERT(context->rdpcontext); - ctx = (rdpClientContext*)context->custom; - WINPR_ASSERT(ctx); - - settings = ctx->context.settings; - WINPR_ASSERT(settings); + const rdpSettings* settings = context->rdpcontext->settings; clientStatus.flags = TS_RAIL_CLIENTSTATUS_ALLOWLOCALMOVESIZE; diff --git a/include/freerdp/client/rail.h b/include/freerdp/client/rail.h index 18582b992a0d..25bd0fd35c01 100644 --- a/include/freerdp/client/rail.h +++ b/include/freerdp/client/rail.h @@ -132,6 +132,8 @@ extern "C" pcRailOnOpen OnOpen; pcRailClientTextScale ClientTextScale; pcRailClientCaretBlinkRate ClientCaretBlinkRate; + + rdpContext* rdpcontext; }; FREERDP_API UINT client_rail_server_start_cmd(RailClientContext* context);