diff options
| author | Idan Freiberg <speidy@gmail.com> | 2014-07-23 16:44:59 +0300 |
|---|---|---|
| committer | Idan Freiberg <speidy@gmail.com> | 2014-07-23 16:44:59 +0300 |
| commit | 16929efb059e1e29c826388e5d57be82014d241b (patch) | |
| tree | f8661e7495a82a4a73e68825f1a1ff44a9e100f1 /libxrdp/libxrdp.c | |
| parent | 0795400fe260652f6ae3788325e2a4c8ee05fe3a (diff) | |
| parent | 0c63a8feb3c52de98a5da51a0a0f743450c34645 (diff) | |
| download | xrdp-proprietary-16929efb059e1e29c826388e5d57be82014d241b.tar.gz xrdp-proprietary-16929efb059e1e29c826388e5d57be82014d241b.zip | |
Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into
devel
Conflicts:
libxrdp/xrdp_sec.c
Diffstat (limited to 'libxrdp/libxrdp.c')
| -rw-r--r-- | libxrdp/libxrdp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libxrdp/libxrdp.c b/libxrdp/libxrdp.c index 3b781f70..876d9473 100644 --- a/libxrdp/libxrdp.c +++ b/libxrdp/libxrdp.c @@ -310,15 +310,18 @@ libxrdp_send_palette(struct xrdp_session *session, int *palette) } DEBUG(("libxrdp_send_palette sending palette")); + /* clear orders */ libxrdp_orders_force_send(session); make_stream(s); init_stream(s, 8192); + if (session->client_info->use_fast_path & 1) /* fastpath output supported */ { LLOGLN(10, ("libxrdp_send_palette: fastpath")); if (xrdp_rdp_init_fastpath((struct xrdp_rdp *)session->rdp, s) != 0) { + free_stream(s); return 1; } } @@ -347,6 +350,7 @@ libxrdp_send_palette(struct xrdp_session *session, int *palette) if (xrdp_rdp_send_fastpath((struct xrdp_rdp *)session->rdp, s, FASTPATH_UPDATETYPE_PALETTE) != 0) { + free_stream(s); return 1; } } @@ -356,6 +360,7 @@ libxrdp_send_palette(struct xrdp_session *session, int *palette) RDP_DATA_PDU_UPDATE); } free_stream(s); + /* send the orders palette too */ libxrdp_orders_init(session); libxrdp_orders_send_palette(session, palette, 0); @@ -777,6 +782,7 @@ libxrdp_set_pointer(struct xrdp_session *session, int cache_idx) if (xrdp_rdp_send_fastpath((struct xrdp_rdp *)session->rdp, s, FASTPATH_UPDATETYPE_CACHED) != 0) { + free_stream(s); return 1; } } |
