From 4d99b4ff9b3a0b07385326ecd5991d91646b9ece Mon Sep 17 00:00:00 2001 From: akallabeth Date: Thu, 19 Oct 2023 11:58:16 +0200 Subject: [PATCH] [settings] add ClipboardUseSelection --- include/freerdp/settings.h | 4 +++- libfreerdp/common/settings_getters.c | 12 ++++++++++++ libfreerdp/common/settings_str.c | 2 ++ libfreerdp/core/test/settings_property_lists.h | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/include/freerdp/settings.h b/include/freerdp/settings.h index 187c9ed7d..1944b4c33 100644 --- a/include/freerdp/settings.h +++ b/include/freerdp/settings.h @@ -924,6 +924,7 @@ extern "C" #define FreeRDP_PreferIPv6OverIPv4 (4674) #define FreeRDP_RedirectClipboard (4800) #define FreeRDP_ClipboardFeatureMask (4801) +#define FreeRDP_ClipboardUseSelection (4802) #define FreeRDP_StaticChannelCount (4928) #define FreeRDP_StaticChannelArraySize (4929) #define FreeRDP_StaticChannelArray (4930) @@ -1656,7 +1657,8 @@ extern "C" ALIGN64 BOOL RedirectClipboard; /* 4800 */ ALIGN64 UINT32 ClipboardFeatureMask; /* 4801 */ - UINT64 padding4928[4928 - 4802]; /* 4802 */ + ALIGN64 char* ClipboardUseSelection; /* 4802 */ + UINT64 padding4928[4928 - 4803]; /* 4803 */ /** * Static Virtual Channels diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index 3246dc1b4..af1763c65 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -2636,6 +2636,9 @@ const char* freerdp_settings_get_string(const rdpSettings* settings, size_t id) case FreeRDP_ClientProductId: return settings->ClientProductId; + case FreeRDP_ClipboardUseSelection: + return settings->ClipboardUseSelection; + case FreeRDP_ComputerName: return settings->ComputerName; @@ -2938,6 +2941,9 @@ char* freerdp_settings_get_string_writable(rdpSettings* settings, size_t id) case FreeRDP_ClientProductId: return settings->ClientProductId; + case FreeRDP_ClipboardUseSelection: + return settings->ClipboardUseSelection; + case FreeRDP_ComputerName: return settings->ComputerName; @@ -3249,6 +3255,9 @@ BOOL freerdp_settings_set_string_(rdpSettings* settings, size_t id, char* val, s case FreeRDP_ClientProductId: return update_string_(&settings->ClientProductId, cnv.c, len); + case FreeRDP_ClipboardUseSelection: + return update_string_(&settings->ClipboardUseSelection, cnv.c, len); + case FreeRDP_ComputerName: return update_string_(&settings->ComputerName, cnv.c, len); @@ -3576,6 +3585,9 @@ BOOL freerdp_settings_set_string_copy_(rdpSettings* settings, size_t id, const c case FreeRDP_ClientProductId: return update_string_copy_(&settings->ClientProductId, cnv.cc, len, cleanup); + case FreeRDP_ClipboardUseSelection: + return update_string_copy_(&settings->ClipboardUseSelection, cnv.cc, len, cleanup); + case FreeRDP_ComputerName: return update_string_copy_(&settings->ComputerName, cnv.cc, len, cleanup); diff --git a/libfreerdp/common/settings_str.c b/libfreerdp/common/settings_str.c index 67ad6c939..bc4ecf2ad 100644 --- a/libfreerdp/common/settings_str.c +++ b/libfreerdp/common/settings_str.c @@ -450,6 +450,8 @@ static const struct settings_str_entry settings_map[] = { { FreeRDP_ClientDir, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ClientDir" }, { FreeRDP_ClientHostname, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ClientHostname" }, { FreeRDP_ClientProductId, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ClientProductId" }, + { FreeRDP_ClipboardUseSelection, FREERDP_SETTINGS_TYPE_STRING, + "FreeRDP_ClipboardUseSelection" }, { FreeRDP_ComputerName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ComputerName" }, { FreeRDP_ConfigPath, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ConfigPath" }, { FreeRDP_ConnectionFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ConnectionFile" }, diff --git a/libfreerdp/core/test/settings_property_lists.h b/libfreerdp/core/test/settings_property_lists.h index c0c0070fe..303288ff1 100644 --- a/libfreerdp/core/test/settings_property_lists.h +++ b/libfreerdp/core/test/settings_property_lists.h @@ -362,6 +362,7 @@ static const size_t string_list_indices[] = { FreeRDP_ClientDir, FreeRDP_ClientHostname, FreeRDP_ClientProductId, + FreeRDP_ClipboardUseSelection, FreeRDP_ComputerName, FreeRDP_ConfigPath, FreeRDP_ConnectionFile,