From 722e5e864cfe9186b2ba4cf621ea2ba55f7376e1 Mon Sep 17 00:00:00 2001 From: randomnoise Date: Sat, 7 Sep 2024 20:16:18 +0300 Subject: [PATCH 1/2] Print explicit MuPDF Fitz error --- crates/core/src/document/pdf.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/crates/core/src/document/pdf.rs b/crates/core/src/document/pdf.rs index e7ce642c..71960e19 100644 --- a/crates/core/src/document/pdf.rs +++ b/crates/core/src/document/pdf.rs @@ -166,7 +166,16 @@ impl Document for PdfDocument { } fn pages_count(&self) -> usize { - unsafe { mp_count_pages(self.ctx.0, self.doc) as usize } + unsafe { + let page_count: i32 = mp_count_pages(self.ctx.0, self.doc); + + if page_count <= 0 { + eprintln!("Error: MuPDF Fitz count_pages function returned {}.", page_count); + return 0; + } + + return page_count as usize; + } } fn resolve_location(&mut self, loc: Location) -> Option { From bafc564b8a22954c6f39e2ada837e8875c85a9f6 Mon Sep 17 00:00:00 2001 From: randomnoise Date: Sat, 7 Sep 2024 20:18:03 +0300 Subject: [PATCH 2/2] Print file path even if there is an MuPDF error --- crates/core/src/view/reader/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/core/src/view/reader/mod.rs b/crates/core/src/view/reader/mod.rs index 27c97027..13c2e858 100644 --- a/crates/core/src/view/reader/mod.rs +++ b/crates/core/src/view/reader/mod.rs @@ -295,6 +295,8 @@ impl Reader { doc.set_ignore_document_css(true); } + println!("{}", info.file.path.display()); + let first_location = doc.resolve_location(Location::Exact(0))?; let mut view_port = ViewPort::default(); @@ -358,8 +360,6 @@ impl Reader { let synthetic = doc.has_synthetic_page_numbers(); let reflowable = doc.is_reflowable(); - println!("{}", info.file.path.display()); - hub.send(Event::Update(UpdateMode::Partial)).ok(); Some(Reader {