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:
matt335672 2024-02-15 11:23:46 +00:00
parent f3fe06a0c7
commit 3ca3bd197f
1 changed files with 1 additions and 1 deletions

View File

@ -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;