From 1d724e13439c6ae2362d4cfe44fb853d6a79bb71 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 17 Jul 2017 11:37:53 +0200 Subject: [PATCH] Add 10.3 capability check. --- server/shadow/shadow_client.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/server/shadow/shadow_client.c b/server/shadow/shadow_client.c index caff4dc..d4a1947 100644 --- a/server/shadow/shadow_client.c +++ b/server/shadow/shadow_client.c @@ -630,6 +630,32 @@ static UINT shadow_client_rdpgfx_caps_advertise(RdpgfxServerContext* context, { const RDPGFX_CAPSET* currentCaps = &capsAdvertise->capsSets[index]; + if (currentCaps->version == RDPGFX_CAPVERSION_103) + { + RDPGFX_CAPSET caps = *currentCaps; + RDPGFX_CAPS_CONFIRM_PDU pdu; + pdu.capsSet = ∩︀ + + if (settings) + { + flags = pdu.capsSet->flags; + settings->GfxSmallCache = (flags & RDPGFX_CAPS_FLAG_SMALL_CACHE); +#ifndef WITH_GFX_H264 + settings->GfxH264 = FALSE; + pdu.capsSet->flags |= RDPGFX_CAPS_FLAG_AVC_DISABLED; +#else + settings->GfxH264 = !(flags & RDPGFX_CAPS_FLAG_AVC_DISABLED); +#endif + } + + return context->CapsConfirm(context, &pdu); + } + } + + for (index = 0; index < capsAdvertise->capsSetCount; index++) + { + const RDPGFX_CAPSET* currentCaps = &capsAdvertise->capsSets[index]; + if (currentCaps->version == RDPGFX_CAPVERSION_102) { RDPGFX_CAPSET caps = *currentCaps; -- 2.7.4