From fc21b828805bcabe06d36e77e229a4ccb5bf32b7 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Tue, 23 Apr 2024 09:08:11 +0200 Subject: [PATCH] [core,timezone] initialize ClientTimeZone early Initialize ClientTimeZone in freerdp_settings_new to allow replacing the default later on in command line parser or client connection callbacks --- libfreerdp/core/settings.c | 3 +++ libfreerdp/core/timezone.c | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libfreerdp/core/settings.c b/libfreerdp/core/settings.c index 7fde0a481..d1ff61234 100644 --- a/libfreerdp/core/settings.c +++ b/libfreerdp/core/settings.c @@ -693,6 +693,9 @@ rdpSettings* freerdp_settings_new(DWORD flags) if (!settings->ClientTimeZone) goto out_fail; + if (!settings->ServerMode) + GetTimeZoneInformation(settings->ClientTimeZone); + if (!freerdp_settings_set_bool(settings, FreeRDP_TcpKeepAlive, TRUE) || !freerdp_settings_set_uint32(settings, FreeRDP_TcpKeepAliveRetries, 3) || !freerdp_settings_set_uint32(settings, FreeRDP_TcpKeepAliveDelay, 5) || diff --git a/libfreerdp/core/timezone.c b/libfreerdp/core/timezone.c index 77a1930dc..70adf55a3 100644 --- a/libfreerdp/core/timezone.c +++ b/libfreerdp/core/timezone.c @@ -143,7 +143,6 @@ BOOL rdp_write_client_time_zone(wStream* s, rdpSettings* settings) if (!tz) return FALSE; - GetTimeZoneInformation(tz); if (!Stream_EnsureRemainingCapacity(s, 4ull + sizeof(tz->StandardName))) return FALSE;