From d2b82c416615e335f6786824acb0ec8f33ee6d8a 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 14890ed70..510a3b135 100644 --- a/libfreerdp-core/capabilities.c +++ b/libfreerdp-core/capabilities.c @@ -1873,14 +1873,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); @@ -1889,6 +1888,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 */