libxrdp: move xrdp_rdp_send_monitorlayout call after demand active pdu

ulab-next
speidy 11 years ago
parent e5f2f997db
commit 6f7958bdcb

@ -107,6 +107,17 @@ libxrdp_process_data(struct xrdp_session *session)
{ {
case -1: case -1:
xrdp_rdp_send_demand_active((struct xrdp_rdp *)session->rdp); xrdp_rdp_send_demand_active((struct xrdp_rdp *)session->rdp);
// send Monitor Layout PDU for multimon
if (session->client_info->monitorCount > 0 && session->client_info->multimon == 1)
{
DEBUG(("sending monitor layout pdu"));
if (xrdp_rdp_send_monitorlayout((struct xrdp_rdp *)session->rdp) != 0)
{
g_writeln("xrdp_rdp_send_monitorlayout: error");
}
}
session->up_and_running = 0; session->up_and_running = 0;
break; break;
case 0: case 0:

@ -353,6 +353,8 @@ xrdp_rdp_incoming(struct xrdp_rdp* self);
int APP_CC int APP_CC
xrdp_rdp_send_demand_active(struct xrdp_rdp* self); xrdp_rdp_send_demand_active(struct xrdp_rdp* self);
int APP_CC int APP_CC
xrdp_rdp_send_monitorlayout(struct xrdp_rdp* self);
int APP_CC
xrdp_rdp_process_confirm_active(struct xrdp_rdp* self, struct stream* s); xrdp_rdp_process_confirm_active(struct xrdp_rdp* self, struct stream* s);
int APP_CC int APP_CC
xrdp_rdp_process_data(struct xrdp_rdp* self, struct stream* s); xrdp_rdp_process_data(struct xrdp_rdp* self, struct stream* s);

@ -1572,7 +1572,7 @@ xrdp_rdp_send_fontmap(struct xrdp_rdp *self)
return 0; return 0;
} }
/*****************************************************************************/ /*****************************************************************************/
static int APP_CC int APP_CC
xrdp_rdp_send_monitorlayout(struct xrdp_rdp *self) xrdp_rdp_send_monitorlayout(struct xrdp_rdp *self)
{ {
struct stream *s; struct stream *s;
@ -1629,18 +1629,6 @@ xrdp_rdp_process_data_font(struct xrdp_rdp *self, struct stream *s)
DEBUG(("sending fontmap")); DEBUG(("sending fontmap"));
xrdp_rdp_send_fontmap(self); xrdp_rdp_send_fontmap(self);
/* TODO: Monitor Layout PDU should send to client after demand active pdu
* MOVE THAT CALL
*/
if (self->client_info.monitorCount > 0 && self->client_info.multimon == 1)
{
DEBUG(("sending monitor layout pdu"));
if (xrdp_rdp_send_monitorlayout(self) != 0)
{
g_writeln("Problem with monitor layout packet!!!");
}
}
self->session->up_and_running = 1; self->session->up_and_running = 1;
DEBUG(("up_and_running set")); DEBUG(("up_and_running set"));
xrdp_rdp_send_data_update_sync(self); xrdp_rdp_send_data_update_sync(self);

Loading…
Cancel
Save