From fefcdc42fefdad861b8de0fb84eb5ff5bf938ba6 Mon Sep 17 00:00:00 2001 From: Przemko Robakowski Date: Tue, 23 Apr 2024 14:00:30 +0200 Subject: [PATCH] fix(connector): fix cursor rendering in Windows 2019 (#444) This change fixes cursor rendering in Windows 2019 and older. Previously only text cursor was rendered, all others defaulted to native cursor from client. Set of flags matches what is used in FreeRDP. --- crates/ironrdp-connector/src/connection_activation.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/ironrdp-connector/src/connection_activation.rs b/crates/ironrdp-connector/src/connection_activation.rs index 9f0fd9bf..0ad904ea 100644 --- a/crates/ironrdp-connector/src/connection_activation.rs +++ b/crates/ironrdp-connector/src/connection_activation.rs @@ -337,7 +337,9 @@ fn create_client_confirm_active( // Setting `LargePointerSupportFlags::UP_TO_384X384_PIXELS` allows server to send // `TS_FP_LARGEPOINTERATTRIBUTE` update messages, which are required for client-side // rendering of pointers bigger than 96x96 pixels. - flags: LargePointerSupportFlags::UP_TO_384X384_PIXELS, + // `LargePointerSupportFlags::UP_TO_96X96_PIXELS` is needed for proper cursor behavior + // in Windows 2019 and older + flags: LargePointerSupportFlags::UP_TO_96X96_PIXELS | LargePointerSupportFlags::UP_TO_384X384_PIXELS, }), CapabilitySet::SurfaceCommands(SurfaceCommands { flags: CmdFlags::SET_SURFACE_BITS | CmdFlags::STREAM_SURFACE_BITS | CmdFlags::FRAME_MARKER,