mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
[client] make settings opaque
This commit is contained in:
@@ -50,7 +50,7 @@ static void ios_OnChannelConnectedEventHandler(void *context, const ChannelConne
|
||||
|
||||
if (strcmp(e->name, RDPGFX_DVC_CHANNEL_NAME) == 0)
|
||||
{
|
||||
if (settings->SoftwareGdi)
|
||||
if (freerdp_settings_get_bool(settings, FreeRDP_SoftwareGdi))
|
||||
{
|
||||
gdi_graphics_pipeline_init(afc->_p.gdi, (RdpgfxClientContext *)e->pInterface);
|
||||
}
|
||||
@@ -84,7 +84,7 @@ static void ios_OnChannelDisconnectedEventHandler(void *context,
|
||||
|
||||
if (strcmp(e->name, RDPGFX_DVC_CHANNEL_NAME) == 0)
|
||||
{
|
||||
if (settings->SoftwareGdi)
|
||||
if (freerdp_settings_get_bool(settings, FreeRDP_SoftwareGdi))
|
||||
{
|
||||
gdi_graphics_pipeline_uninit(afc->_p.gdi, (RdpgfxClientContext *)e->pInterface);
|
||||
}
|
||||
@@ -111,14 +111,20 @@ static BOOL ios_pre_connect(freerdp *instance)
|
||||
settings = instance->context->settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
settings->AutoLogonEnabled = settings->Password && (strlen(settings->Password) > 0);
|
||||
const char *Password = freerdp_settings_get_string(settings, FreeRDP_Password);
|
||||
if (!freerdp_settings_set_bool(settings, FreeRDP_AutoLogonEnabled,
|
||||
Password && (Password && (strlen(Password) > 0))))
|
||||
return FALSE;
|
||||
|
||||
// Verify screen width/height are sane
|
||||
if ((settings->DesktopWidth < 64) || (settings->DesktopHeight < 64) ||
|
||||
(settings->DesktopWidth > 4096) || (settings->DesktopHeight > 4096))
|
||||
if ((freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) < 64) ||
|
||||
(freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight) < 64) ||
|
||||
(freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) > 4096) ||
|
||||
(freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight) > 4096))
|
||||
{
|
||||
NSLog(@"%s: invalid dimensions %d %d", __func__, settings->DesktopWidth,
|
||||
settings->DesktopHeight);
|
||||
NSLog(@"%s: invalid dimensions %d %d", __func__,
|
||||
freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth),
|
||||
freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,8 +30,9 @@ static BOOL ios_ui_authenticate_raw(freerdp *instance, char **username, char **p
|
||||
@"password",
|
||||
(*domain) ? [NSString stringWithUTF8String:*domain] : @"",
|
||||
@"domain",
|
||||
[NSString stringWithUTF8String:instance->context->settings->
|
||||
ServerHostname],
|
||||
[NSString stringWithUTF8String:freerdp_settings_get_string(
|
||||
instance->context->settings,
|
||||
FreeRDP_ServerHostname)],
|
||||
@"hostname", // used for the auth prompt message; not changed
|
||||
nil];
|
||||
// request auth UI
|
||||
@@ -160,7 +161,8 @@ BOOL ios_ui_resize_window(rdpContext *context)
|
||||
settings = context->settings;
|
||||
gdi = context->gdi;
|
||||
|
||||
if (!gdi_resize(gdi, settings->DesktopWidth, settings->DesktopHeight))
|
||||
if (!gdi_resize(gdi, freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth),
|
||||
freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight)))
|
||||
return FALSE;
|
||||
|
||||
ios_resize_display_buffer(MFI_FROM_INSTANCE(context->instance));
|
||||
|
||||
@@ -299,7 +299,8 @@ out_free:
|
||||
// Set Screen Size to automatic if widht or height are still 0
|
||||
rdpSettings *settings = _freerdp->context->settings;
|
||||
|
||||
if (settings->DesktopWidth == 0 || settings->DesktopHeight == 0)
|
||||
if (freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) == 0 ||
|
||||
freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight) == 0)
|
||||
{
|
||||
CGSize size = CGSizeZero;
|
||||
|
||||
@@ -310,8 +311,8 @@ out_free:
|
||||
{
|
||||
[_params setInt:size.width forKey:@"width"];
|
||||
[_params setInt:size.height forKey:@"height"];
|
||||
settings->DesktopWidth = size.width;
|
||||
settings->DesktopHeight = size.height;
|
||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, size.width);
|
||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopHeight, size.height);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,7 +320,10 @@ out_free:
|
||||
// resolution width
|
||||
// Otherwise this could result in screen corruption ..
|
||||
if (freerdp_settings_get_uint32(settings, FreeRDP_ColorDepth) <= 16)
|
||||
settings->DesktopWidth &= (~1);
|
||||
{
|
||||
const UINT32 w = freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) & (~1);
|
||||
freerdp_settings_set_uint32(settings, FreeRDP_DesktopWidth, w);
|
||||
}
|
||||
|
||||
[self performSelectorInBackground:@selector(runSession) withObject:nil];
|
||||
}
|
||||
@@ -360,8 +364,8 @@ out_free:
|
||||
/* RECTANGLE_16 rec;
|
||||
rec.left = 0;
|
||||
rec.top = 0;
|
||||
rec.right = instance->settings->width;
|
||||
rec.bottom = instance->settings->height;
|
||||
rec.right = freerdp_settings_get_uint32(instance->settings, FreeRDP_DesktopWidth);
|
||||
rec.bottom = freerdp_settings_get_uint32(instance->settings, FreeRDP_DesktopHeight);
|
||||
*/
|
||||
_suspended = NO;
|
||||
// instance->update->SuppressOutput(instance->context, 1, &rec);
|
||||
|
||||
Reference in New Issue
Block a user