Resize state machine: A fix and a question (#2929)
* Store EGFX state before entering resize state machine At present the EGFX state is destroyed by states WMRZ_EGFX_DELETE_SURFACE through WRMZ_EGFX_DELETE. This means that at WMRZ_EGFX_INITIALIZE we cannot distinguish between EGFX not being ever used, and EGFX having been torn down. Consequently, when running non-GFX, we don't correctly recover the session. * Allow multiple reasons for suppress_output Replaces the single boolean for suppress_output with a bitmask, to allow output to be suppressed for more than one reason * Disable output during resize * Add states to dynamic resize Adds states to the dynamic resize state machine so we wait for a Deactivation-Reactivation sequence to finish before sending pointer updates, etc. * suppress module output during the dynamic resize * Add support for dynamic resize to VNC backend xrdp_mm needs to be informed when a resize has been performed so that the resize stte machine can be updsate.
This commit is contained in:
committed by
Christopher Pitstick
parent
d9783a9529
commit
54acca43cf
@@ -1181,6 +1181,12 @@ libxrdp_reset(struct xrdp_session *session,
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Stop output from the client during the deactivation-reactivation
|
||||
* sequence [MS-RDPBCGR] 1.3.1.3 */
|
||||
xrdp_rdp_suppress_output((struct xrdp_rdp *)session->rdp, 1,
|
||||
XSO_REASON_DEACTIVATE_REACTIVATE, 0, 0, 0, 0);
|
||||
|
||||
/* shut down the rdp client
|
||||
*
|
||||
* When resetting the lib, disable application input checks, as
|
||||
|
||||
Reference in New Issue
Block a user