diff options
| author | Laxmikant Rashinkar <LK.Rashinkar@gmail.com> | 2013-05-21 12:57:20 -0700 |
|---|---|---|
| committer | Laxmikant Rashinkar <LK.Rashinkar@gmail.com> | 2013-05-21 12:57:20 -0700 |
| commit | 551cf6a7fe3dc8fcd7bb73f9e22fb85de59a522c (patch) | |
| tree | 8d9ecd9e0e145501aa79893fa23ffe84027f4a35 /libxrdp/libxrdp.c | |
| parent | 652bacf07f72b819e4962087b263edc04cb5cca4 (diff) | |
| parent | 2039bbe397b9cdd937eed196e987ade4e194e65c (diff) | |
| download | xrdp-proprietary-551cf6a7fe3dc8fcd7bb73f9e22fb85de59a522c.tar.gz xrdp-proprietary-551cf6a7fe3dc8fcd7bb73f9e22fb85de59a522c.zip | |
Merge branch 'master' of github.com:FreeRDP/xrdp
Diffstat (limited to 'libxrdp/libxrdp.c')
| -rw-r--r-- | libxrdp/libxrdp.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libxrdp/libxrdp.c b/libxrdp/libxrdp.c index 91ff1e35..19e8a2c6 100644 --- a/libxrdp/libxrdp.c +++ b/libxrdp/libxrdp.c @@ -428,17 +428,20 @@ libxrdp_send_pointer(struct xrdp_session *session, int cache_idx, int data_bytes; DEBUG(("libxrdp_send_pointer sending cursor")); + if (bpp == 0) + { + bpp = 24; + } /* error check */ if ((session->client_info->pointer_flags & 1) == 0) { - if (bpp != 0) + if (bpp != 24) { g_writeln("libxrdp_send_pointer: error"); return 1; } } - if ((bpp != 0) && (bpp == 15) && (bpp != 16) && - (bpp != 24) && (bpp != 32)) + if ((bpp == 15) && (bpp != 16) && (bpp != 24) && (bpp != 32)) { g_writeln("libxrdp_send_pointer: error"); return 1; @@ -446,7 +449,7 @@ libxrdp_send_pointer(struct xrdp_session *session, int cache_idx, make_stream(s); init_stream(s, 8192); xrdp_rdp_init_data((struct xrdp_rdp *)session->rdp, s); - if (bpp == 0) + if ((session->client_info->pointer_flags & 1) == 0) { out_uint16_le(s, RDP_POINTER_COLOR); out_uint16_le(s, 0); /* pad */ @@ -481,7 +484,6 @@ libxrdp_send_pointer(struct xrdp_session *session, int cache_idx, } } break; - case 0: case 24: p = data; for (i = 0; i < 32; i++) |
