diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2012-05-22 08:27:09 -0700 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2012-05-22 08:27:09 -0700 |
commit | 900a2541ca94b5c4cb839c3bd6d35e6460ca1c48 (patch) | |
tree | 97dc231f119bfdc6a144a353d941bb44839e6579 /libxrdp/xrdp_orders.c | |
parent | e09f14e6d47f1b67a42f8765b87f4eb405616319 (diff) | |
download | xrdp-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.c | 9 |
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); } } |