summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Fort <rdp.effort@gmail.com>2017-09-27 12:01:10 +0200
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2017-10-03 11:28:30 +0300
commitbe2f6b0f75a6fb6ac1278d2cd935a36419a09d0f (patch)
tree1e41d1f298c265abc202ea9fff521d2508afea04
parentfa41bdfbc0b962fd73b89f01aab1a5370c9c28eb (diff)
Fix API troubles with FreeRDP 2.0 v2
With FreeRDP 2.0 the crypto needs to be initialized or we fail as soon as we try to compute a md5. The API also changed for the suppress output callback. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-rw-r--r--libweston/compositor-rdp.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c
index 091472b0..ddc49ab6 100644
--- a/libweston/compositor-rdp.c
+++ b/libweston/compositor-rdp.c
@@ -76,6 +76,10 @@
#include <freerdp/locale/keyboard.h>
#include <winpr/input.h>
+#if FREERDP_VERSION_MAJOR >= 2
+#include <winpr/ssl.h>
+#endif
+
#include "shared/helpers.h"
#include "compositor.h"
#include "compositor-rdp.h"
@@ -1013,7 +1017,8 @@ xf_peer_activate(freerdp_peer* client)
return TRUE;
}
-static BOOL xf_peer_post_connect(freerdp_peer *client)
+static BOOL
+xf_peer_post_connect(freerdp_peer *client)
{
return TRUE;
}
@@ -1166,7 +1171,7 @@ xf_input_unicode_keyboard_event(rdpInput *input, UINT16 flags, UINT16 code)
static FREERDP_CB_RET_TYPE
-xf_suppress_output(rdpContext *context, BYTE allow, RECTANGLE_16 *area)
+xf_suppress_output(rdpContext *context, BYTE allow, const RECTANGLE_16 *area)
{
RdpPeerContext *peerContext = (RdpPeerContext *)context;
@@ -1227,7 +1232,7 @@ rdp_peer_init(freerdp_peer *client, struct rdp_backend *b)
client->PostConnect = xf_peer_post_connect;
client->Activate = xf_peer_activate;
- client->update->SuppressOutput = xf_suppress_output;
+ client->update->SuppressOutput = (pSuppressOutput)xf_suppress_output;
input = client->input;
input->SynchronizeEvent = xf_input_synchronize_event;
@@ -1387,6 +1392,9 @@ weston_backend_init(struct weston_compositor *compositor,
struct weston_rdp_backend_config config = {{ 0, }};
int major, minor, revision;
+#if FREERDP_VERSION_MAJOR >= 2
+ winpr_InitializeSSL(0);
+#endif
freerdp_get_version(&major, &minor, &revision);
weston_log("using FreeRDP version %d.%d.%d\n", major, minor, revision);