diff --git a/client/Windows/wf_interface.c b/client/Windows/wf_interface.c index 4cac2a003..51b43afae 100644 --- a/client/Windows/wf_interface.c +++ b/client/Windows/wf_interface.c @@ -302,7 +302,7 @@ BOOL wf_pre_connect(freerdp* instance) desktopHeight = (GetSystemMetrics(SM_CYSCREEN) * wfi->percentscreen) / 100; settings->DesktopHeight = desktopHeight; } - + if (wfi->fullscreen) { if (settings->UseMultimon) diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 188c871ec..57bf9a74c 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -1109,10 +1109,6 @@ int freerdp_client_parse_command_line_arguments(int argc, char** argv, rdpSettin settings->UseMultimon = TRUE; settings->Fullscreen = TRUE; - // force? - settings->DesktopWidth = GetSystemMetrics(SM_CXVIRTUALSCREEN); - settings->DesktopHeight = GetSystemMetrics(SM_CYVIRTUALSCREEN); - if (arg->Flags & COMMAND_LINE_VALUE_PRESENT) { if (_stricmp(arg->Value, "force") == 0) diff --git a/client/common/file.c b/client/common/file.c index a383259a3..afe40e9b1 100644 --- a/client/common/file.c +++ b/client/common/file.c @@ -585,10 +585,10 @@ BOOL freerdp_client_write_rdp_file(rdpFile* file, char* name, BOOL unicode) int __current = 0; \ int __count = 0; -#define WRITE_RDP_FILE_VALUE(_format, _field) \ +#define WRITE_RDP_FILE_VALUE_INTEGER(_format, _field) \ if (~__rdpFile->_field) \ { \ - __count = _snprintf(__buffer == NULL ? NULL : __buffer + __current, __buffer == NULL ? 0 : __size - __required_size, _format, __rdpFile->_field); \ + __count = sprintf_s(__buffer == NULL ? NULL : __buffer + __current, __buffer == NULL ? 0 : __size - __required_size, _format, (int) __rdpFile->_field); \ __required_size += __count; \ __current += __count; \ } @@ -596,7 +596,7 @@ if (~__rdpFile->_field) \ #define WRITE_RDP_FILE_VALUE_STRING(_format, _field) \ if (~((size_t) __rdpFile->_field) && __rdpFile->_field != NULL) \ { \ - __count = _snprintf(__buffer == NULL ? NULL : __buffer + __current, __buffer == NULL ? 0 : __size - __required_size, _format, __rdpFile->_field); \ + __count = sprintf_s(__buffer == NULL ? NULL : __buffer + __current, __buffer == NULL ? 0 : __size - __required_size, _format, __rdpFile->_field); \ __required_size += __count; \ __current += __count; \ } @@ -609,50 +609,50 @@ size_t freerdp_client_write_rdp_file_buffer(rdpFile* file, char* buffer, size_t { WRITE_RDP_FILE_DECLARE(file, buffer, size) - WRITE_RDP_FILE_VALUE("screen mode id:i:%d\n", ScreenModeId); - WRITE_RDP_FILE_VALUE("use multimon:i:%d\n", UseMultiMon); - WRITE_RDP_FILE_VALUE("desktopwidth:i:%d\n", DesktopWidth); - WRITE_RDP_FILE_VALUE("desktopheight:i:%d\n", DesktopHeight); - WRITE_RDP_FILE_VALUE("session bpp:i:%d\n", SessionBpp); + WRITE_RDP_FILE_VALUE_INTEGER("screen mode id:i:%d\n", ScreenModeId); + WRITE_RDP_FILE_VALUE_INTEGER("use multimon:i:%d\n", UseMultiMon); + WRITE_RDP_FILE_VALUE_INTEGER("desktopwidth:i:%d\n", DesktopWidth); + WRITE_RDP_FILE_VALUE_INTEGER("desktopheight:i:%d\n", DesktopHeight); + WRITE_RDP_FILE_VALUE_INTEGER("session bpp:i:%d\n", SessionBpp); WRITE_RDP_FILE_VALUE_STRING("winposstr:s:%s\n", WinPosStr); - WRITE_RDP_FILE_VALUE("compression:i:%d\n", Compression); - WRITE_RDP_FILE_VALUE("keyboardhook:i:%d\n", KeyboardHook); - WRITE_RDP_FILE_VALUE("audiocapturemode:i:%d\n", AudioCaptureMode); - WRITE_RDP_FILE_VALUE("videoplaybackmode:i:%d\n", VideoPlaybackMode); - WRITE_RDP_FILE_VALUE("connection type:i:%d\n", ConnectionType); - WRITE_RDP_FILE_VALUE("networkautodetect:i:%d\n", NetworkAutoDetect); - WRITE_RDP_FILE_VALUE("bandwidthautodetect:i:%d\n", BandwidthAutoDetect); - WRITE_RDP_FILE_VALUE("displayconnectionbar:i:%d\n", DisplayConnectionBar); - WRITE_RDP_FILE_VALUE("enableworkspacereconnect:i:%d\n", EnableWorkspaceReconnect); - WRITE_RDP_FILE_VALUE("disable wallpaper:i:%d\n", DisableWallpaper); - WRITE_RDP_FILE_VALUE("allow font smoothing:i:%d\n", AllowFontSmoothing); - WRITE_RDP_FILE_VALUE("allow desktop composition:i:%d\n", AllowDesktopComposition); - WRITE_RDP_FILE_VALUE("disable full window drag:i:%d\n", DisableFullWindowDrag); - WRITE_RDP_FILE_VALUE("disable menu anims:i:%d\n", DisableMenuAnims); - WRITE_RDP_FILE_VALUE("disable themes:i:%d\n", DisableThemes); - WRITE_RDP_FILE_VALUE("disable cursor setting:i:%d\n", DisableCursorSetting); - WRITE_RDP_FILE_VALUE("bitmapcachepersistenable:i:%d\n", BitmapCachePersistEnable); + WRITE_RDP_FILE_VALUE_INTEGER("compression:i:%d\n", Compression); + WRITE_RDP_FILE_VALUE_INTEGER("keyboardhook:i:%d\n", KeyboardHook); + WRITE_RDP_FILE_VALUE_INTEGER("audiocapturemode:i:%d\n", AudioCaptureMode); + WRITE_RDP_FILE_VALUE_INTEGER("videoplaybackmode:i:%d\n", VideoPlaybackMode); + WRITE_RDP_FILE_VALUE_INTEGER("connection type:i:%d\n", ConnectionType); + WRITE_RDP_FILE_VALUE_INTEGER("networkautodetect:i:%d\n", NetworkAutoDetect); + WRITE_RDP_FILE_VALUE_INTEGER("bandwidthautodetect:i:%d\n", BandwidthAutoDetect); + WRITE_RDP_FILE_VALUE_INTEGER("displayconnectionbar:i:%d\n", DisplayConnectionBar); + WRITE_RDP_FILE_VALUE_INTEGER("enableworkspacereconnect:i:%d\n", EnableWorkspaceReconnect); + WRITE_RDP_FILE_VALUE_INTEGER("disable wallpaper:i:%d\n", DisableWallpaper); + WRITE_RDP_FILE_VALUE_INTEGER("allow font smoothing:i:%d\n", AllowFontSmoothing); + WRITE_RDP_FILE_VALUE_INTEGER("allow desktop composition:i:%d\n", AllowDesktopComposition); + WRITE_RDP_FILE_VALUE_INTEGER("disable full window drag:i:%d\n", DisableFullWindowDrag); + WRITE_RDP_FILE_VALUE_INTEGER("disable menu anims:i:%d\n", DisableMenuAnims); + WRITE_RDP_FILE_VALUE_INTEGER("disable themes:i:%d\n", DisableThemes); + WRITE_RDP_FILE_VALUE_INTEGER("disable cursor setting:i:%d\n", DisableCursorSetting); + WRITE_RDP_FILE_VALUE_INTEGER("bitmapcachepersistenable:i:%d\n", BitmapCachePersistEnable); WRITE_RDP_FILE_VALUE_STRING("full address:s:%s\n", FullAddress); - WRITE_RDP_FILE_VALUE("audiomode:i:%d\n", AudioMode); - WRITE_RDP_FILE_VALUE("redirectprinters:i:%d\n", RedirectPrinters); - WRITE_RDP_FILE_VALUE("redirectcomports:i:%d\n", RedirectComPorts); - WRITE_RDP_FILE_VALUE("redirectsmartcards:i:%d\n", RedirectSmartCards); - WRITE_RDP_FILE_VALUE("redirectclipboard:i:%d\n", RedirectClipboard); - WRITE_RDP_FILE_VALUE("redirectposdevices:i:%d\n", RedirectPosDevices); - WRITE_RDP_FILE_VALUE("autoreconnection enabled:i:%d\n", AutoReconnectionEnabled); - WRITE_RDP_FILE_VALUE("authentication level:i:%d\n", AuthenticationLevel); - WRITE_RDP_FILE_VALUE("prompt for credentials:i:%d\n", PromptForCredentials); - WRITE_RDP_FILE_VALUE("negotiate security layer:i:%d\n", NegotiateSecurityLayer); - WRITE_RDP_FILE_VALUE("remoteapplicationmode:i:%d\n", RemoteApplicationMode); + WRITE_RDP_FILE_VALUE_INTEGER("audiomode:i:%d\n", AudioMode); + WRITE_RDP_FILE_VALUE_INTEGER("redirectprinters:i:%d\n", RedirectPrinters); + WRITE_RDP_FILE_VALUE_INTEGER("redirectcomports:i:%d\n", RedirectComPorts); + WRITE_RDP_FILE_VALUE_INTEGER("redirectsmartcards:i:%d\n", RedirectSmartCards); + WRITE_RDP_FILE_VALUE_INTEGER("redirectclipboard:i:%d\n", RedirectClipboard); + WRITE_RDP_FILE_VALUE_INTEGER("redirectposdevices:i:%d\n", RedirectPosDevices); + WRITE_RDP_FILE_VALUE_INTEGER("autoreconnection enabled:i:%d\n", AutoReconnectionEnabled); + WRITE_RDP_FILE_VALUE_INTEGER("authentication level:i:%d\n", AuthenticationLevel); + WRITE_RDP_FILE_VALUE_INTEGER("prompt for credentials:i:%d\n", PromptForCredentials); + WRITE_RDP_FILE_VALUE_INTEGER("negotiate security layer:i:%d\n", NegotiateSecurityLayer); + WRITE_RDP_FILE_VALUE_INTEGER("remoteapplicationmode:i:%d\n", RemoteApplicationMode); WRITE_RDP_FILE_VALUE_STRING("alternate shell:s:%s\n", AlternateShell); WRITE_RDP_FILE_VALUE_STRING("shell working directory:s:%s\n", ShellWorkingDirectory); WRITE_RDP_FILE_VALUE_STRING("gatewayhostname:s:%s\n", GatewayHostname); - WRITE_RDP_FILE_VALUE("gatewayusagemethod:i:%d\n", GatewayUsageMethod); - WRITE_RDP_FILE_VALUE("gatewaycredentialssource:i:%d\n", GatewayCredentialsSource); - WRITE_RDP_FILE_VALUE("gatewayprofileusagemethod:i:%d\n", GatewayProfileUsageMethod); - WRITE_RDP_FILE_VALUE("promptcredentialonce:i:%d\n", PromptCredentialOnce); - WRITE_RDP_FILE_VALUE("use redirection server name:i:%d\n", UseRedirectionServerName); - WRITE_RDP_FILE_VALUE("rdgiskdcproxy:i:%d\n", RdgIsKdcProxy); + WRITE_RDP_FILE_VALUE_INTEGER("gatewayusagemethod:i:%d\n", GatewayUsageMethod); + WRITE_RDP_FILE_VALUE_INTEGER("gatewaycredentialssource:i:%d\n", GatewayCredentialsSource); + WRITE_RDP_FILE_VALUE_INTEGER("gatewayprofileusagemethod:i:%d\n", GatewayProfileUsageMethod); + WRITE_RDP_FILE_VALUE_INTEGER("promptcredentialonce:i:%d\n", PromptCredentialOnce); + WRITE_RDP_FILE_VALUE_INTEGER("use redirection server name:i:%d\n", UseRedirectionServerName); + WRITE_RDP_FILE_VALUE_INTEGER("rdgiskdcproxy:i:%d\n", RdgIsKdcProxy); WRITE_RDP_FILE_VALUE_STRING("kdcproxyname:s:%s\n", KdcProxyName); WRITE_RDP_FILE_VALUE_STRING("drivestoredirect:s:%s\n", DrivesToRedirect); WRITE_RDP_FILE_VALUE_STRING("username:s:%s\n", Username);