mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-08 17:30:09 +02:00
Fix re-rendering, using the same canvas, when rendering was previously cancelled (PR 8519 follow-up)
Currently if `RenderTask.cancel` is called *immediately* after rendering was started, then by the time that `InternalRenderTask.initializeGraphics` is called rendering will already have been cancelled. However, we're still inserting the canvas into the `canvasInRendering` map, thus breaking any future attempts at re-rendering using the same canvas. Considering that `InternalRenderTask.cancel` always removes the canvas from the map, I cannot imagine that we'd ever want to re-add it *after* rendering was cancelled (it was likely just a simple oversight in PR 8519). Fixes 9456.
This commit is contained in:
parent
5e40f04153
commit
bf0aca86d7
2 changed files with 35 additions and 6 deletions
|
@ -2380,9 +2380,10 @@ var InternalRenderTask = (function InternalRenderTaskClosure() {
|
|||
|
||||
InternalRenderTask.prototype = {
|
||||
|
||||
initializeGraphics:
|
||||
function InternalRenderTask_initializeGraphics(transparency) {
|
||||
|
||||
initializeGraphics(transparency) {
|
||||
if (this.cancelled) {
|
||||
return;
|
||||
}
|
||||
if (this._canvas) {
|
||||
if (canvasInRendering.has(this._canvas)) {
|
||||
throw new Error(
|
||||
|
@ -2393,9 +2394,6 @@ var InternalRenderTask = (function InternalRenderTaskClosure() {
|
|||
canvasInRendering.set(this._canvas, this);
|
||||
}
|
||||
|
||||
if (this.cancelled) {
|
||||
return;
|
||||
}
|
||||
if (this._pdfBug && globalScope.StepperManager &&
|
||||
globalScope.StepperManager.enabled) {
|
||||
this.stepper = globalScope.StepperManager.create(this.pageNumber - 1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue