[PATCH] Fix API troubles with FreeRDP 2.0
David Fort
rdp.effort at gmail.com
Fri Sep 22 09:17:41 UTC 2017
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.
---
libweston/compositor-rdp.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c
index 091472b..6706765 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"
@@ -159,6 +163,7 @@ to_rdp_backend(struct weston_compositor *base)
return container_of(base->backend, struct rdp_backend, base);
}
+
static void
rdp_peer_refresh_rfx(pixman_region32_t *damage, pixman_image_t *image, freerdp_peer *peer)
{
@@ -1013,7 +1018,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 +1172,11 @@ xf_input_unicode_keyboard_event(rdpInput *input, UINT16 flags, UINT16 code)
static FREERDP_CB_RET_TYPE
+#if FREERDP_VERSION_MAJOR >= 2
+xf_suppress_output(rdpContext *context, BYTE allow, const RECTANGLE_16 *area)
+#else
xf_suppress_output(rdpContext *context, BYTE allow, RECTANGLE_16 *area)
+#endif
{
RdpPeerContext *peerContext = (RdpPeerContext *)context;
@@ -1387,6 +1397,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);
--
2.7.4
More information about the wayland-devel
mailing list