diff --git a/include/freerdp/settings_types_private.h b/include/freerdp/settings_types_private.h index 099e689cc..95cc08972 100644 --- a/include/freerdp/settings_types_private.h +++ b/include/freerdp/settings_types_private.h @@ -664,7 +664,8 @@ struct rdp_settings SETTINGS_DEPRECATED(ALIGN64 UINT32 RemoteFxCodecMode); /* 3651 */ SETTINGS_DEPRECATED(ALIGN64 BOOL RemoteFxImageCodec); /* 3652 */ SETTINGS_DEPRECATED(ALIGN64 UINT32 RemoteFxCaptureFlags); /* 3653 */ - UINT64 padding3712[3712 - 3654]; /* 3654 */ + SETTINGS_DEPRECATED(ALIGN64 UINT32 RemoteFxRlgrMode); /* 3654 */ + UINT64 padding3712[3712 - 3655]; /* 3655 */ /* NSCodec */ SETTINGS_DEPRECATED(ALIGN64 BOOL NSCodec); /* 3712 */ diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index 0ae9b0ff9..6a0311d4b 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -1919,6 +1919,9 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings case FreeRDP_RemoteFxCodecMode: return settings->RemoteFxCodecMode; + case FreeRDP_RemoteFxRlgrMode: + return settings->RemoteFxRlgrMode; + case FreeRDP_RemoteWndSupportLevel: return settings->RemoteWndSupportLevel; @@ -2416,6 +2419,10 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, FreeRDP_Settings_Keys_UI settings->RemoteFxCodecMode = cnv.c; break; + case FreeRDP_RemoteFxRlgrMode: + settings->RemoteFxRlgrMode = cnv.c; + break; + case FreeRDP_RemoteWndSupportLevel: settings->RemoteWndSupportLevel = cnv.c; break; diff --git a/libfreerdp/common/settings_str.h b/libfreerdp/common/settings_str.h index 239185ab2..e99d748f2 100644 --- a/libfreerdp/common/settings_str.h +++ b/libfreerdp/common/settings_str.h @@ -415,6 +415,7 @@ static const struct settings_str_entry settings_map[] = { { FreeRDP_RemoteFxCaptureFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteFxCaptureFlags" }, { FreeRDP_RemoteFxCodecId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteFxCodecId" }, { FreeRDP_RemoteFxCodecMode, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteFxCodecMode" }, + { FreeRDP_RemoteFxRlgrMode, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteFxRlgrMode" }, { FreeRDP_RemoteWndSupportLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteWndSupportLevel" }, { FreeRDP_RequestedProtocols, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RequestedProtocols" }, diff --git a/libfreerdp/core/settings.c b/libfreerdp/core/settings.c index f6c66e148..b03ff1d92 100644 --- a/libfreerdp/core/settings.c +++ b/libfreerdp/core/settings.c @@ -391,6 +391,9 @@ rdpSettings* freerdp_settings_new(DWORD flags) if (!settings) return NULL; + if (!freerdp_settings_set_uint32(settings, FreeRDP_RemoteFxRlgrMode, RLGR3)) + goto out_fail; + if (!freerdp_settings_set_uint16(settings, FreeRDP_CapsProtocolVersion, TS_CAPS_PROTOCOLVERSION)) goto out_fail; diff --git a/libfreerdp/core/test/settings_property_lists.h b/libfreerdp/core/test/settings_property_lists.h index f2f265f76..7bd02255f 100644 --- a/libfreerdp/core/test/settings_property_lists.h +++ b/libfreerdp/core/test/settings_property_lists.h @@ -318,6 +318,7 @@ static const size_t uint32_list_indices[] = { FreeRDP_RemoteFxCaptureFlags, FreeRDP_RemoteFxCodecId, FreeRDP_RemoteFxCodecMode, + FreeRDP_RemoteFxRlgrMode, FreeRDP_RemoteWndSupportLevel, FreeRDP_RequestedProtocols, FreeRDP_SelectedProtocol,