GUAC-1164: Do not load "drdynvc" plugin unless actually needed.

This commit is contained in:
Michael Jumper 2016-03-22 13:41:53 -07:00
parent f97a681f1d
commit ecbb6fc6b3

View File

@ -225,16 +225,24 @@ BOOL rdp_freerdp_pre_connect(freerdp* instance) {
(pChannelConnectedEventHandler) guac_rdp_channel_connected); (pChannelConnectedEventHandler) guac_rdp_channel_connected);
#endif #endif
/* Load virtual channel management plugin */ #ifdef HAVE_FREERDP_DISPLAY_UPDATE_SUPPORT
/* Load required plugins if display update is enabled */
if (settings->resize_method == GUAC_RESIZE_DISPLAY_UPDATE) {
/* Load virtual channel management plugin (needed by display update) */
if (freerdp_channels_load_plugin(channels, instance->settings, if (freerdp_channels_load_plugin(channels, instance->settings,
"drdynvc", instance->settings)) "drdynvc", instance->settings))
guac_client_log(client, GUAC_LOG_WARNING, guac_client_log(client, GUAC_LOG_WARNING,
"Failed to load drdynvc plugin."); "Failed to load drdynvc plugin. Display update support "
"will be disabled.");
/* Init display update plugin (if available and required) */ /* Init display update plugin if "drdynvc" was loaded successfully */
if (settings->resize_method == GUAC_RESIZE_DISPLAY_UPDATE) else
guac_rdp_disp_load_plugin(instance->context); guac_rdp_disp_load_plugin(instance->context);
}
#endif
/* Load clipboard plugin */ /* Load clipboard plugin */
if (freerdp_channels_load_plugin(channels, instance->settings, if (freerdp_channels_load_plugin(channels, instance->settings,
"cliprdr", NULL)) "cliprdr", NULL))