diff options
author | jsorg71 <jsorg71> | 2006-12-30 06:16:29 +0000 |
---|---|---|
committer | jsorg71 <jsorg71> | 2006-12-30 06:16:29 +0000 |
commit | 451f7a1c0f2eff5cde2ec5bde5d3c61148655b3d (patch) | |
tree | 5552dee58aaacc09b80bb8cc3a7b886842ea1394 /xrdp/xrdp_wm.c | |
parent | 4b3b83044a29e89d958c3bf0ea2660b978e3c027 (diff) | |
download | xrdp-proprietary-451f7a1c0f2eff5cde2ec5bde5d3c61148655b3d.tar.gz xrdp-proprietary-451f7a1c0f2eff5cde2ec5bde5d3c61148655b3d.zip |
channel data go go to the client
Diffstat (limited to 'xrdp/xrdp_wm.c')
-rw-r--r-- | xrdp/xrdp_wm.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c index 401a5e4f..7c0c9a57 100644 --- a/xrdp/xrdp_wm.c +++ b/xrdp/xrdp_wm.c @@ -1326,6 +1326,22 @@ xrdp_wm_process_input_mouse(struct xrdp_wm* self, int device_flags, } /******************************************************************************/ +static int APP_CC +xrdp_wm_process_channel_data(struct xrdp_wm* self, int channel_id, + char* data, int data_len) +{ + if (self->mod != 0) + { + if (self->mod->mod_event != 0) + { + self->mod->mod_event(self->mod, 0x5555, channel_id, (long)data, + data_len, 0); + } + } + return 0; +} + +/******************************************************************************/ /* this is the callbacks comming from libxrdp.so */ int DEFAULT_CC callback(long id, int msg, long param1, long param2, long param3, long param4) @@ -1361,6 +1377,10 @@ callback(long id, int msg, long param1, long param2, long param3, long param4) MAKERECT(rect, param1, param2, param3, param4); rv = xrdp_bitmap_invalidate(wm->screen, &rect); break; + case 0x5555: /* called from xrdp_channel.c, channel data has come in, + pass it to module if there is one */ + rv = xrdp_wm_process_channel_data(wm, param1, (char*)param2, param3); + break; } return rv; } |