mirror of https://github.com/neutrinolabs/xrdp
Prevent EGFX drawing while channel is down
Clear egfx_up as soon as the channel starts to close so that xrdp_mm_draw_dirty() doesn't send data to a closed channel.
This commit is contained in:
parent
f3fe06a0c7
commit
3ca3bd197f
|
@ -1699,6 +1699,7 @@ process_display_control_monitor_layout_data(struct xrdp_wm *wm)
|
||||||
if (error == 0 && module != 0)
|
if (error == 0 && module != 0)
|
||||||
{
|
{
|
||||||
xrdp_egfx_shutdown_close_connection(wm->mm->egfx);
|
xrdp_egfx_shutdown_close_connection(wm->mm->egfx);
|
||||||
|
mm->egfx_up = 0;
|
||||||
}
|
}
|
||||||
advance_resize_state_machine(mm, WMRZ_EGFX_CONN_CLOSING);
|
advance_resize_state_machine(mm, WMRZ_EGFX_CONN_CLOSING);
|
||||||
break;
|
break;
|
||||||
|
@ -1727,7 +1728,6 @@ process_display_control_monitor_layout_data(struct xrdp_wm *wm)
|
||||||
{
|
{
|
||||||
xrdp_egfx_shutdown_delete(wm->mm->egfx);
|
xrdp_egfx_shutdown_delete(wm->mm->egfx);
|
||||||
mm->egfx = NULL;
|
mm->egfx = NULL;
|
||||||
mm->egfx_up = 0;
|
|
||||||
}
|
}
|
||||||
advance_resize_state_machine(mm, WMRZ_SERVER_MONITOR_RESIZE);
|
advance_resize_state_machine(mm, WMRZ_SERVER_MONITOR_RESIZE);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue