summaryrefslogtreecommitdiffstats
path: root/libxrdp/xrdp_orders.c
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2012-05-22 08:27:09 -0700
committerJay Sorg <jay.sorg@gmail.com>2012-05-22 08:27:09 -0700
commit900a2541ca94b5c4cb839c3bd6d35e6460ca1c48 (patch)
tree97dc231f119bfdc6a144a353d941bb44839e6579 /libxrdp/xrdp_orders.c
parente09f14e6d47f1b67a42f8765b87f4eb405616319 (diff)
downloadxrdp-proprietary-900a2541ca94b5c4cb839c3bd6d35e6460ca1c48.tar.gz
xrdp-proprietary-900a2541ca94b5c4cb839c3bd6d35e6460ca1c48.zip
offscreen bitmaps: implement the delete list
Diffstat (limited to 'libxrdp/xrdp_orders.c')
-rw-r--r--libxrdp/xrdp_orders.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libxrdp/xrdp_orders.c b/libxrdp/xrdp_orders.c
index 5efba951..a52c5f92 100644
--- a/libxrdp/xrdp_orders.c
+++ b/libxrdp/xrdp_orders.c
@@ -1975,16 +1975,19 @@ xrdp_orders_send_brush(struct xrdp_orders* self, int width, int height,
/* send an off screen bitmap entry */
int APP_CC
xrdp_orders_send_create_os_surface(struct xrdp_orders* self, int id,
- int width, int height, int num_del_list,
- int* del_list)
+ int width, int height,
+ struct list* del_list)
{
int order_flags;
int cache_id;
int flags;
int index;
int bytes;
+ int num_del_list;
bytes = 7;
+ num_del_list = del_list->count;
+ g_writeln("xrdp_orders_send_create_os_surface: num_del_list %d", num_del_list);
if (num_del_list > 0)
{
bytes += 2;
@@ -2010,7 +2013,7 @@ xrdp_orders_send_create_os_surface(struct xrdp_orders* self, int id,
out_uint16_le(self->out_s, num_del_list);
for (index = 0; index < num_del_list; index++)
{
- cache_id = del_list[index] & 0x7fff;
+ cache_id = list_get_item(del_list, index) & 0x7fff;
out_uint16_le(self->out_s, cache_id);
}
}