summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_wm.c
diff options
context:
space:
mode:
authorjsorg71 <jsorg71>2006-12-30 06:16:29 +0000
committerjsorg71 <jsorg71>2006-12-30 06:16:29 +0000
commit451f7a1c0f2eff5cde2ec5bde5d3c61148655b3d (patch)
tree5552dee58aaacc09b80bb8cc3a7b886842ea1394 /xrdp/xrdp_wm.c
parent4b3b83044a29e89d958c3bf0ea2660b978e3c027 (diff)
downloadxrdp-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.c20
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;
}