[PATCH weston] compositor-rdp: fix compilation with freerdp 2.0.0-rc2
Pekka Paalanen
ppaalanen at gmail.com
Tue May 22 14:12:25 UTC 2018
On Fri, 11 May 2018 11:47:47 +0200
Luca Weiss <luca at z3ntu.xyz> wrote:
> See https://github.com/FreeRDP/FreeRDP/commit/1f7d33a2f22a372c124ce985a394619e186e06b9 for the upstream change.
>
> Signed-off-by: Luca Weiss <luca at z3ntu.xyz>
> ---
> libweston/compositor-rdp.c | 50 +++++++++++++++++++-------------------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
Hi,
obviously this breaks the build for freerdp 2.0.0-rc1. Personally I'd
be fine with this change, the distro I use has rc2.
David, do we want to do this? Have we ever or is it feasible to support
more than a single freerdp version at a time?
The patch looks fine and works fine for me, so the very least:
Tested-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Thanks,
pq
> diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c
> index 693f136a..12605c08 100644
> --- a/libweston/compositor-rdp.c
> +++ b/libweston/compositor-rdp.c
> @@ -200,10 +200,10 @@ rdp_peer_refresh_rfx(pixman_region32_t *damage, pixman_image_t *image, freerdp_p
> cmd->destTop = damage->extents.y1;
> cmd->destRight = damage->extents.x2;
> cmd->destBottom = damage->extents.y2;
> - cmd->bpp = 32;
> - cmd->codecID = peer->settings->RemoteFxCodecId;
> - cmd->width = width;
> - cmd->height = height;
> + cmd->bmp.bpp = 32;
> + cmd->bmp.codecID = peer->settings->RemoteFxCodecId;
> + cmd->bmp.width = width;
> + cmd->bmp.height = height;
>
> ptr = pixman_image_get_data(image) + damage->extents.x1 +
> damage->extents.y1 * (pixman_image_get_stride(image) / sizeof(uint32_t));
> @@ -226,8 +226,8 @@ rdp_peer_refresh_rfx(pixman_region32_t *damage, pixman_image_t *image, freerdp_p
> pixman_image_get_stride(image)
> );
>
> - cmd->bitmapDataLength = Stream_GetPosition(context->encode_stream);
> - cmd->bitmapData = Stream_Buffer(context->encode_stream);
> + cmd->bmp.bitmapDataLength = Stream_GetPosition(context->encode_stream);
> + cmd->bmp.bitmapData = Stream_Buffer(context->encode_stream);
>
> update->SurfaceBits(update->context, cmd);
> }
> @@ -257,19 +257,19 @@ rdp_peer_refresh_nsc(pixman_region32_t *damage, pixman_image_t *image, freerdp_p
> cmd->destTop = damage->extents.y1;
> cmd->destRight = damage->extents.x2;
> cmd->destBottom = damage->extents.y2;
> - cmd->bpp = 32;
> - cmd->codecID = peer->settings->NSCodecId;
> - cmd->width = width;
> - cmd->height = height;
> + cmd->bmp.bpp = 32;
> + cmd->bmp.codecID = peer->settings->NSCodecId;
> + cmd->bmp.width = width;
> + cmd->bmp.height = height;
>
> ptr = pixman_image_get_data(image) + damage->extents.x1 +
> damage->extents.y1 * (pixman_image_get_stride(image) / sizeof(uint32_t));
>
> nsc_compose_message(context->nsc_context, context->encode_stream, (BYTE *)ptr,
> - cmd->width, cmd->height,
> + cmd->bmp.width, cmd->bmp.height,
> pixman_image_get_stride(image));
> - cmd->bitmapDataLength = Stream_GetPosition(context->encode_stream);
> - cmd->bitmapData = Stream_Buffer(context->encode_stream);
> + cmd->bmp.bitmapDataLength = Stream_GetPosition(context->encode_stream);
> + cmd->bmp.bitmapData = Stream_Buffer(context->encode_stream);
> update->SurfaceBits(update->context, cmd);
> }
>
> @@ -306,16 +306,16 @@ rdp_peer_refresh_raw(pixman_region32_t *region, pixman_image_t *image, freerdp_p
> update->SurfaceFrameMarker(peer->context, marker);
>
> memset(cmd, 0, sizeof(*cmd));
> - cmd->bpp = 32;
> - cmd->codecID = 0;
> + cmd->bmp.bpp = 32;
> + cmd->bmp.codecID = 0;
>
> for (i = 0; i < nrects; i++, rect++) {
> /*weston_log("rect(%d,%d, %d,%d)\n", rect->x1, rect->y1, rect->x2, rect->y2);*/
> cmd->destLeft = rect->x1;
> cmd->destRight = rect->x2;
> - cmd->width = rect->x2 - rect->x1;
> + cmd->bmp.width = rect->x2 - rect->x1;
>
> - heightIncrement = peer->settings->MultifragMaxRequestSize / (16 + cmd->width * 4);
> + heightIncrement = peer->settings->MultifragMaxRequestSize / (16 + cmd->bmp.width * 4);
> remainingHeight = rect->y2 - rect->y1;
> top = rect->y1;
>
> @@ -323,21 +323,21 @@ rdp_peer_refresh_raw(pixman_region32_t *region, pixman_image_t *image, freerdp_p
> subrect.x2 = rect->x2;
>
> while (remainingHeight) {
> - cmd->height = (remainingHeight > heightIncrement) ? heightIncrement : remainingHeight;
> + cmd->bmp.height = (remainingHeight > heightIncrement) ? heightIncrement : remainingHeight;
> cmd->destTop = top;
> - cmd->destBottom = top + cmd->height;
> - cmd->bitmapDataLength = cmd->width * cmd->height * 4;
> - cmd->bitmapData = (BYTE *)realloc(cmd->bitmapData, cmd->bitmapDataLength);
> + cmd->destBottom = top + cmd->bmp.height;
> + cmd->bmp.bitmapDataLength = cmd->bmp.width * cmd->bmp.height * 4;
> + cmd->bmp.bitmapData = (BYTE *)realloc(cmd->bmp.bitmapData, cmd->bmp.bitmapDataLength);
>
> subrect.y1 = top;
> - subrect.y2 = top + cmd->height;
> - pixman_image_flipped_subrect(&subrect, image, cmd->bitmapData);
> + subrect.y2 = top + cmd->bmp.height;
> + pixman_image_flipped_subrect(&subrect, image, cmd->bmp.bitmapData);
>
> /*weston_log("* sending (%d,%d, %d,%d)\n", subrect.x1, subrect.y1, subrect.x2, subrect.y2); */
> update->SurfaceBits(peer->context, cmd);
>
> - remainingHeight -= cmd->height;
> - top += cmd->height;
> + remainingHeight -= cmd->bmp.height;
> + top += cmd->bmp.height;
> }
> }
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20180522/75f6089f/attachment.sig>
More information about the wayland-devel
mailing list