From 9f744fc8d2b67e3c9fbff615c4e5cdb302a384b7 Mon Sep 17 00:00:00 2001 From: Pawel Jakub Dawidek Date: Sat, 11 Feb 2012 15:09:59 +0100 Subject: [PATCH] Advertise persistent bitmap cache only if it is enabled. --- libfreerdp-core/capabilities.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libfreerdp-core/capabilities.c b/libfreerdp-core/capabilities.c index 6db2411af..2766ba9ba 100644 --- a/libfreerdp-core/capabilities.c +++ b/libfreerdp-core/capabilities.c @@ -1870,14 +1870,13 @@ void rdp_write_demand_active(STREAM* s, rdpSettings* settings) stream_seek_uint16(s); /* numberCapabilities (2 bytes) */ stream_write_uint16(s, 0); /* pad2Octets (2 bytes) */ - numberCapabilities = 14; + numberCapabilities = 13; rdp_write_general_capability_set(s, settings); rdp_write_bitmap_capability_set(s, settings); rdp_write_order_capability_set(s, settings); rdp_write_pointer_capability_set(s, settings); rdp_write_input_capability_set(s, settings); rdp_write_virtual_channel_capability_set(s, settings); - rdp_write_bitmap_cache_host_support_capability_set(s, settings); rdp_write_share_capability_set(s, settings); rdp_write_font_capability_set(s, settings); rdp_write_multifragment_update_capability_set(s, settings); @@ -1886,6 +1885,12 @@ void rdp_write_demand_active(STREAM* s, rdpSettings* settings) rdp_write_surface_commands_capability_set(s, settings); rdp_write_bitmap_codecs_capability_set(s, settings); + if (settings->persistent_bitmap_cache) + { + numberCapabilities++; + rdp_write_bitmap_cache_host_support_capability_set(s, settings); + } + stream_get_mark(s, em); stream_set_mark(s, lm); /* go back to lengthCombinedCapabilities */