Le 22/04/2016 15:19, David Fort a écrit : > FreeRDP 2.0 is about to be released, this allows to compile against this > version. > > Signed-off-by: David Fort <[email protected]> > --- > configure.ac | 8 +++++++- > src/compositor-rdp.c | 23 ++++++++++++++++------- > 2 files changed, 23 insertions(+), 8 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 670200c..9c70b2e 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -242,12 +242,18 @@ AM_CONDITIONAL([ENABLE_RDP_COMPOSITOR], > [test x$enable_rdp_compositor = xyes]) > if test x$enable_rdp_compositor = xyes; then > AC_DEFINE([BUILD_RDP_COMPOSITOR], [1], [Build the RDP compositor]) > - PKG_CHECK_MODULES(RDP_COMPOSITOR, [freerdp >= 1.1.0]) > + PKG_CHECK_MODULES(FreeRDP, [freerdp >= 1.1.0], > + [RDP_COMPOSITOR_CFLAGS=$FreeRDP_CFLAGS; > RDP_COMPOSITOR_LIBS=$FreeRDP_LIBS;], > + [PKG_CHECK_MODULES(FreeRDP2, [freerdp2 >= > 2.0.0],[RDP_COMPOSITOR_CFLAGS=$FreeRDP2_CFLAGS; > RDP_COMPOSITOR_LIBS=$FreeRDP2_LIBS;])] > + ) > > SAVED_CPPFLAGS="$CPPFLAGS" > CPPFLAGS="$CPPFLAGS $RDP_COMPOSITOR_CFLAGS" > AC_CHECK_HEADERS([freerdp/version.h]) > CPPFLAGS="$SAVED_CPPFLAGS" > + > + AC_SUBST(RDP_COMPOSITOR_CFLAGS) > + AC_SUBST(RDP_COMPOSITOR_LIBS) > fi > > AC_ARG_ENABLE([screen-sharing], [ --enable-screen-sharing],, > diff --git a/src/compositor-rdp.c b/src/compositor-rdp.c > index 773b6b5..0649bee 100644 > --- a/src/compositor-rdp.c > +++ b/src/compositor-rdp.c > @@ -42,15 +42,24 @@ > #define FREERDP_VERSION_NUMBER ((FREERDP_VERSION_MAJOR * 0x10000) + \ > (FREERDP_VERSION_MINOR * 0x100) + FREERDP_VERSION_REVISION) > > + > #if FREERDP_VERSION_NUMBER >= 0x10201 > #define HAVE_SKIP_COMPRESSION > #endif > > #if FREERDP_VERSION_NUMBER < 0x10202 > -#define FREERDP_CB_RET_TYPE void > -#define FREERDP_CB_RETURN(V) return > +# define FREERDP_CB_RET_TYPE void > +# define FREERDP_CB_RETURN(V) return > +# define NSC_RESET(C, W, H) > +# define RFX_RESET(C, W, H) do { rfx_context_reset(C); C->width = W; > C->height = H; } while(0) > +#else > +#if FREERDP_VERSION_MAJOR >= 2 > +# define NSC_RESET(C, W, H) nsc_context_reset(C, W, H) > +# define RFX_RESET(C, W, H) rfx_context_reset(C, W, H) > #else > -#define HAVE_NSC_RESET > +# define NSC_RESET(C, W, H) do { nsc_context_reset(C); C->width = W; > C->height = H; } while(0) > +# define RFX_RESET(C, W, H) do { rfx_context_reset(C); C->width = W; > C->height = H; } while(0) > +#endif > #define FREERDP_CB_RET_TYPE BOOL > #define FREERDP_CB_RETURN(V) return TRUE > #endif > @@ -819,6 +828,7 @@ xf_peer_activate(freerdp_peer* client) > struct xkb_context *xkbContext; > struct xkb_rule_names xkbRuleNames; > struct xkb_keymap *keymap; > + struct weston_output *weston_output; > int i; > pixman_box32_t box; > pixman_region32_t damage; > @@ -867,10 +877,9 @@ xf_peer_activate(freerdp_peer* client) > } > } > > - rfx_context_reset(peerCtx->rfx_context); > -#ifdef HAVE_NSC_RESET > - nsc_context_reset(peerCtx->nsc_context); > -#endif > + weston_output = &output->base; > + RFX_RESET(peerCtx->rfx_context, weston_output->width, > weston_output->height); > + NSC_RESET(peerCtx->nsc_context, weston_output->width, > weston_output->height); > > if (peersItem->flags & RDP_PEER_ACTIVATED) > return TRUE; >
I forgot to specify that this one superseeds https://patchwork.freedesktop.org/patch/76168/. Best regards. -- David FORT website: http://www.hardening-consulting.com/ _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
