From 1fc80182a3a8e33af98bbcf17063b152344d12a6 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Fri, 21 Nov 2014 13:51:01 -0800 Subject: [PATCH] GUAC-865: rdpSettings may not have SupportDisplayControl, even if freerdp/client/disp.h is present. --- configure.ac | 4 +++- src/protocols/rdp/rdp_disp.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 11a159cd..9494a5ca 100644 --- a/configure.ac +++ b/configure.ac @@ -480,7 +480,9 @@ if test "x${have_freerdp}" = "xyes" then AC_CHECK_HEADERS([freerdp/client/disp.h], [AC_DEFINE([HAVE_FREERDP_DISPLAY_UPDATE_SUPPORT],, - [Whether FreeRDP supports the display update channel])], + [Whether FreeRDP supports the display update channel])] + [AC_CHECK_MEMBERS([rdpSettings.SupportDisplayControl],,, + [[#include ]])], have_disp=no, [#include #include ]) diff --git a/src/protocols/rdp/rdp_disp.c b/src/protocols/rdp/rdp_disp.c index 61ad76f4..a26d926b 100644 --- a/src/protocols/rdp/rdp_disp.c +++ b/src/protocols/rdp/rdp_disp.c @@ -20,6 +20,7 @@ * THE SOFTWARE. */ +#include "config.h" #include "client.h" #include @@ -58,7 +59,9 @@ void guac_rdp_disp_load_plugin(rdpContext* context) { PubSub_SubscribeChannelConnected(context->pubSub, (pChannelConnectedEventHandler) guac_rdp_disp_channel_connected); +#ifdef HAVE_RDPSETTINGS_SUPPORTDISPLAYCONTROL context->settings->SupportDisplayControl = TRUE; +#endif /* Add "disp" channel */ ADDIN_ARGV* args = malloc(sizeof(ADDIN_ARGV));