Added new client callback LoadChannels and freerdp_client_load_channels

Split channel loading from PreConnect as it might be necessary to
reinitialize channels on redirect
This commit is contained in:
akallabeth
2022-06-22 12:17:44 +02:00
committed by akallabeth
parent 21cfb23e0b
commit 650a275ceb
15 changed files with 75 additions and 46 deletions

View File

@@ -177,7 +177,7 @@ static BOOL android_desktop_resize(rdpContext* context)
freerdp_callback("OnGraphicsResize", "(JIII)V", (jlong)context->instance,
context->settings->DesktopWidth, context->settings->DesktopHeight,
context->settings->ColorDepth);
context->freerdp_settings_get_uint32(settings, FreeRDP_ColorDepth));
return TRUE;
}
@@ -212,12 +212,6 @@ static BOOL android_pre_connect(freerdp* instance)
return FALSE;
}
if (!freerdp_client_load_addins(instance->context->channels, instance->context->settings))
{
WLog_ERR(TAG, "Failed to load addins [%l08X]", GetLastError());
return FALSE;
}
freerdp_callback("OnPreConnect", "(J)V", (jlong)instance);
return TRUE;
}
@@ -307,7 +301,8 @@ static BOOL android_post_connect(freerdp* instance)
update->EndPaint = android_end_paint;
update->DesktopResize = android_desktop_resize;
freerdp_callback("OnSettingsChanged", "(JIII)V", (jlong)instance, settings->DesktopWidth,
settings->DesktopHeight, settings->ColorDepth);
settings->DesktopHeight,
freerdp_settings_get_uint32(settings, FreeRDP_ColorDepth));
freerdp_callback("OnConnectionSuccess", "(J)V", (jlong)instance);
return TRUE;
}
@@ -537,6 +532,7 @@ static BOOL android_client_new(freerdp* instance, rdpContext* context)
if (!android_event_queue_init(instance))
return FALSE;
instance->LoadChannels = freerdp_client_load_channels;
instance->PreConnect = android_pre_connect;
instance->PostConnect = android_post_connect;
instance->PostDisconnect = android_post_disconnect;