]> git.pld-linux.org Git - packages/weston.git/blobdiff - weston-freerdp2.patch
- updated to 12.0.2, added vnc backend
[packages/weston.git] / weston-freerdp2.patch
index 7fc2e77b1bf616dd1a2eb21652a83e5ca224baab..51a2fc6a12d573068ead9604fc7533836ea81f92 100644 (file)
---- weston-5.0.0/libweston/compositor-rdp.c.orig       2018-08-24 20:04:16.000000000 +0200
-+++ weston-5.0.0/libweston/compositor-rdp.c    2018-10-11 21:16:08.197352052 +0200
-@@ -86,6 +86,7 @@
- #include <freerdp/listener.h>
- #include <freerdp/update.h>
- #include <freerdp/input.h>
-+#include <freerdp/cache/cache.h>
- #include <freerdp/codec/color.h>
- #include <freerdp/codec/rfx.h>
- #include <freerdp/codec/nsc.h>
-@@ -198,8 +199,10 @@
-       uint32_t *ptr;
-       RFX_RECT *rfxRect;
-       rdpUpdate *update = peer->update;
--      SURFACE_BITS_COMMAND *cmd = &update->surface_bits_command;
-+      SURFACE_BITS_COMMAND *cmd = calloc(1, sizeof(SURFACE_BITS_COMMAND));
-       RdpPeerContext *context = (RdpPeerContext *)peer->context;
-+      if (!cmd)
-+              return;
-       Stream_Clear(context->encode_stream);
-       Stream_SetPosition(context->encode_stream, 0);
-@@ -209,8 +212,6 @@
- #ifdef HAVE_SKIP_COMPRESSION
-       cmd->skipCompression = TRUE;
--#else
--      memset(cmd, 0, sizeof(*cmd));
- #endif
-       cmd->destLeft = damage->extents.x1;
-       cmd->destTop = damage->extents.y1;
-@@ -246,6 +247,8 @@
-       SURFACE_BITMAP_DATA(cmd) = Stream_Buffer(context->encode_stream);
-       update->SurfaceBits(update->context, cmd);
-+
-+      free(cmd);
- }
-@@ -255,8 +258,10 @@
-       int width, height;
-       uint32_t *ptr;
-       rdpUpdate *update = peer->update;
--      SURFACE_BITS_COMMAND *cmd = &update->surface_bits_command;
-+      SURFACE_BITS_COMMAND *cmd = calloc(1, sizeof(SURFACE_BITS_COMMAND));
-       RdpPeerContext *context = (RdpPeerContext *)peer->context;
-+      if (!cmd)
-+              return;
-       Stream_Clear(context->encode_stream);
-       Stream_SetPosition(context->encode_stream, 0);
-@@ -266,8 +271,6 @@
- #ifdef HAVE_SKIP_COMPRESSION
-       cmd->skipCompression = TRUE;
--#else
--      memset(cmd, 0, sizeof(*cmd));
- #endif
-       cmd->destLeft = damage->extents.x1;
-@@ -290,6 +293,8 @@
-       SURFACE_BITMAP_DATA(cmd) = Stream_Buffer(context->encode_stream);
-       update->SurfaceBits(update->context, cmd);
-+
-+      free(cmd);
- }
- static void
-@@ -310,15 +315,19 @@
- rdp_peer_refresh_raw(pixman_region32_t *region, pixman_image_t *image, freerdp_peer *peer)
- {
-       rdpUpdate *update = peer->update;
--      SURFACE_BITS_COMMAND *cmd = &update->surface_bits_command;
--      SURFACE_FRAME_MARKER *marker = &update->surface_frame_marker;
-+      SURFACE_BITS_COMMAND *cmd = calloc(1, sizeof(SURFACE_BITS_COMMAND));
-+      if (!cmd)
-+              return;
-+      SURFACE_FRAME_MARKER *marker = calloc(1, sizeof(SURFACE_FRAME_MARKER));
-+      if (!marker)
-+              goto fail2;
-       pixman_box32_t *rect, subrect;
-       int nrects, i;
-       int heightIncrement, remainingHeight, top;
-       rect = pixman_region32_rectangles(region, &nrects);
+--- weston-8.0.0/libweston/backend-rdp/rdp.c.orig      2019-03-28 02:15:13.000000000 +0100
++++ weston-8.0.0/libweston/backend-rdp/rdp.c   2019-04-22 10:01:34.149025872 +0200
+@@ -320,7 +320,8 @@
        if (!nrects)
--              return;
-+              goto fail;
-       marker->frameId++;
-       marker->frameAction = SURFACECMD_FRAMEACTION_BEGIN;
-@@ -362,6 +371,10 @@
-       marker->frameAction = SURFACECMD_FRAMEACTION_END;
-       update->SurfaceFrameMarker(peer->context, marker);
-+fail:
-+      free(marker);
-+fail2:
-+      free(cmd);
- }
- static void
-@@ -1055,9 +1068,10 @@
-       peersItem->flags |= RDP_PEER_ACTIVATED;
+               return;
  
-       /* disable pointer on the client side */
-+      POINTER_SYSTEM_UPDATE pointer_system;
-+      pointer_system.type = SYSPTR_NULL;
-       pointer = client->update->pointer;
--      pointer->pointer_system.type = SYSPTR_NULL;
--      pointer->PointerSystem(client->context, &pointer->pointer_system);
-+      pointer->PointerSystem(client->context, &pointer_system);
+-      marker.frameId++;
++      memset(&marker, 0, sizeof(marker));
++      marker.frameId++; /* FIXME: always 1? */
+       marker.frameAction = SURFACECMD_FRAMEACTION_BEGIN;
+       update->SurfaceFrameMarker(peer->context, &marker);
  
-       /* sends a full refresh */
-       box.x1 = 0;
This page took 0.037337 seconds and 4 git commands to generate.