--- sourceforge.net/trunk/rdesktop/rdp.c 2008/05/11 06:15:41 1473 +++ sourceforge.net/trunk/rdesktop/rdp.c 2008/07/11 03:35:24 1474 @@ -800,6 +800,15 @@ out_uint16(s, 0); /* pad */ } +/* Output brush cache capability set */ +static void +rdp_out_brushcache_caps(STREAM s) +{ + out_uint16_le(s, RDP_CAPSET_BRUSHCACHE); + out_uint16_le(s, RDP_CAPLEN_BRUSHCACHE); + out_uint32_le(s, 1); /* cache type */ +} + static uint8 caps_0x0d[] = { 0x01, 0x00, 0x00, 0x00, 0x09, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -848,7 +857,7 @@ RDP_CAPLEN_GENERAL + RDP_CAPLEN_BITMAP + RDP_CAPLEN_ORDER + RDP_CAPLEN_BMPCACHE + RDP_CAPLEN_COLCACHE + RDP_CAPLEN_ACTIVATE + RDP_CAPLEN_CONTROL + - RDP_CAPLEN_POINTER + RDP_CAPLEN_SHARE + + RDP_CAPLEN_POINTER + RDP_CAPLEN_SHARE + RDP_CAPLEN_BRUSHCACHE + 0x58 + 0x08 + 0x08 + 0x34 /* unknown caps */ + 4 /* w2k fix, why? */ ; @@ -876,6 +885,7 @@ rdp_out_control_caps(s); rdp_out_pointer_caps(s); rdp_out_share_caps(s); + rdp_out_brushcache_caps(s); rdp_out_unknown_caps(s, 0x0d, 0x58, caps_0x0d); /* international? */ rdp_out_unknown_caps(s, 0x0c, 0x08, caps_0x0c);