KASM-5609 fixed artifacts after screen movements (#99)

Co-authored-by: mattmcclaskey <matt@kasmweb.com>
This commit is contained in:
Matt McClaskey 2024-02-09 10:46:50 -05:00 committed by GitHub
parent 602dff9258
commit 83347282eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 0 deletions

View File

@ -175,6 +175,7 @@ export default class RFB extends EventTargetMixin {
this._disconnTimer = null; // disconnection timer this._disconnTimer = null; // disconnection timer
this._resizeTimeout = null; // resize rate limiting this._resizeTimeout = null; // resize rate limiting
this._mouseMoveTimer = null; this._mouseMoveTimer = null;
this._forceFullFrameUpdateTimeout = null;
// Decoder states // Decoder states
this._decoders = {}; this._decoders = {};
@ -4141,6 +4142,14 @@ export default class RFB extends EventTargetMixin {
this._resize(this._FBU.width, this._FBU.height); this._resize(this._FBU.width, this._FBU.height);
} }
// There are certain conditions with multi-monitor that warrent forcing a full frame update after a delay
if (this._display.screens.length > 1) {
clearTimeout(this._forceFullFrameUpdateTimeout);
this._forceFullFrameUpdateTimeout = setTimeout(function(){
RFB.messages.fbUpdateRequest(this._sock, false, 0, 0, this._fbWidth, this._fbHeight)
}.bind(this), 500);
}
return true; return true;
} }