From 05169efec1fc3ff3a83ca27364fec8ad3699398f Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Tue, 27 Dec 2022 12:14:42 +0100 Subject: [PATCH] [Regression] Ensure that documents with varying page sizes are initialized correctly (PR 15812 follow-up) The rotation-caching added in PR 15812 completely breaks initialization of PDF documents with varying page sizes, causing all pages to wrongly get the same size; see e.g. `sizes.pdf` from the test-suite. To fix that without having to e.g. add a new parameter, which feels error prone, this patch changes the `PDFPageView.#setDimensions` method to completely ignore the rotation-caching until the `setPdfPage`-method has been called. --- web/pdf_page_view.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/web/pdf_page_view.js b/web/pdf_page_view.js index e54a679d1..ad410af4a 100644 --- a/web/pdf_page_view.js +++ b/web/pdf_page_view.js @@ -196,7 +196,6 @@ class PDFPageView { this.div = div; this.#setDimensions(); - container?.append(div); if ( @@ -230,10 +229,12 @@ class PDFPageView { #setDimensions() { const { viewport } = this; - if (this.#previousRotation === viewport.rotation) { - return; + if (this.pdfPage) { + if (this.#previousRotation === viewport.rotation) { + return; + } + this.#previousRotation = viewport.rotation; } - this.#previousRotation = viewport.rotation; setLayerDimensions( this.div,