mirror of
https://github.com/novnc/noVNC.git
synced 2026-06-06 20:39:39 +00:00
Fix Race Condition in Display#clear on IE10
There was a race condition in Display#clear on IE10 because we resize and then clear that causes the canvas to not actually end up cleared. Clearing the current viewport first solves the issue. It doesn't appear to affect other platforms, so it's inside a engine check (`Util.Engine.trident === 6`). Once we stop supporting IE10, we should just remove this, because it's not the best to have Engine-specific code.
This commit is contained in:
@@ -312,6 +312,12 @@ var Display;
|
||||
this.resize(this._logo.width, this._logo.height);
|
||||
this.blitStringImage(this._logo.data, 0, 0);
|
||||
} else {
|
||||
if (Util.Engine.trident === 6) {
|
||||
// NB(directxman12): there's a bug in IE10 where we can fail to actually
|
||||
// clear the canvas here because of the resize.
|
||||
// Clearing the current viewport first fixes the issue
|
||||
this._drawCtx.clearRect(0, 0, this._viewportLoc.w, this._viewportLoc.h);
|
||||
}
|
||||
this.resize(640, 20);
|
||||
this._drawCtx.clearRect(0, 0, this._viewportLoc.w, this._viewportLoc.h);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user