Skip to content

Commit

Permalink
Adding issue for zero monitor representation.
Browse files Browse the repository at this point in the history
  • Loading branch information
Nexarian committed Jan 15, 2023
1 parent 708eb65 commit ceafa74
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion xrdp/xrdp_egfx.c
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,19 @@ xrdp_egfx_reset_graphics(struct xrdp_egfx_bulk *bulk, int width, int height,
out_uint32_le(s, 340); /* pduLength */
out_uint32_le(s, width);
out_uint32_le(s, height);
/*
TODO: Fix hack where working around 0 monitors is necessary.
In cases where multi-mon is not used for XRDP, internally 0 monitors
are represented, even though we implicitly have one: The entire session!
Some Microsoft clients (Mainly the Mac OS one) require that at least
one monitor be transmitted for EGFX to function, which is why this
change was necessary.
See https://github.com/neutrinolabs/xrdp/pull/2338#discussion_r944685856
https://github.com/neutrinolabs/xrdp/issues/2503
*/
out_uint32_le(s, monitor_count == 0 ? 1 : monitor_count);
if (monitor_count == 0)
{
Expand Down Expand Up @@ -870,7 +883,7 @@ xrdp_egfx_process(struct xrdp_egfx *egfx, struct stream *s)
break;
case XR_RDPGFX_CMDID_QOEFRAMEACKNOWLEDGE:
break;
/*
/*
TODO: Handle Cache Import PDU here.
https://github.com/neutrinolabs/xrdp/issues/2502
case XR_RDPGFX_CMDID_CACHEIMPORTOFFER:
Expand Down

0 comments on commit ceafa74

Please sign in to comment.