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,15 +225,23 @@ 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
if (freerdp_channels_load_plugin(channels, instance->settings, /* Load required plugins if display update is enabled */
"drdynvc", instance->settings)) if (settings->resize_method == GUAC_RESIZE_DISPLAY_UPDATE) {
guac_client_log(client, GUAC_LOG_WARNING,
"Failed to load drdynvc plugin.");
/* Init display update plugin (if available and required) */ /* Load virtual channel management plugin (needed by display update) */
if (settings->resize_method == GUAC_RESIZE_DISPLAY_UPDATE) if (freerdp_channels_load_plugin(channels, instance->settings,
guac_rdp_disp_load_plugin(instance->context); "drdynvc", instance->settings))
guac_client_log(client, GUAC_LOG_WARNING,
"Failed to load drdynvc plugin. Display update support "
"will be disabled.");
/* Init display update plugin if "drdynvc" was loaded successfully */
else
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,