diff options
Diffstat (limited to 'libxrdp/xrdp_rdp.c')
-rw-r--r-- | libxrdp/xrdp_rdp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libxrdp/xrdp_rdp.c b/libxrdp/xrdp_rdp.c index cd127964..624b3b5d 100644 --- a/libxrdp/xrdp_rdp.c +++ b/libxrdp/xrdp_rdp.c @@ -968,7 +968,9 @@ xrdp_process_capset_pointercache(struct xrdp_rdp *self, struct stream *s, { int i; int colorPointerFlag; + int no_new_cursor; + no_new_cursor = self->client_info.pointer_flags & 2; in_uint16_le(s, colorPointerFlag); self->client_info.pointer_flags = colorPointerFlag; in_uint16_le(s, i); @@ -987,6 +989,12 @@ xrdp_process_capset_pointercache(struct xrdp_rdp *self, struct stream *s, g_writeln("xrdp_process_capset_pointercache: client does not support " "new(color) cursor"); } + if (no_new_cursor) + { + g_writeln("xrdp_process_capset_pointercache: new(color) cursor is " + "disabled by config"); + self->client_info.pointer_flags = 0; + } return 0; } |