From 0fc58f120a81a23d1ab13989e0fc19ee42543323 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Fri, 29 Jun 2007 08:10:30 +0000 Subject: [PATCH 1/1] Make sure thumbnails width and height is not <= 0. Fixes a crash with some 2007-06-29 Carlos Garcia Campos * backend/pdf/ev-poppler.cc: (pdf_document_thumbnails_get_dimensions): Make sure thumbnails width and height is not <= 0. Fixes a crash with some pdf documents which have really small pages. svn path=/trunk/; revision=2525 --- ChangeLog | 8 ++++++++ backend/pdf/ev-poppler.cc | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13562930..7b0e6055 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-06-29 Carlos Garcia Campos + + * backend/pdf/ev-poppler.cc: + (pdf_document_thumbnails_get_dimensions): + + Make sure thumbnails width and height is not <= 0. Fixes a crash + with some pdf documents which have really small pages. + 2007-06-22 Gabor Kelemen * shell/main.c: (main): diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc index e3b80b45..5cdeddec 100644 --- a/backend/pdf/ev-poppler.cc +++ b/backend/pdf/ev-poppler.cc @@ -448,7 +448,7 @@ pdf_document_render (EvDocument *document, width = (int) ((width_points * rc->scale) + 0.5); height = (int) ((height_points * rc->scale) + 0.5); } - + #ifdef HAVE_POPPLER_PAGE_RENDER cairo_t *cr; @@ -1283,10 +1283,10 @@ pdf_document_thumbnails_get_dimensions (EvDocumentThumbnails *document_thumbnail poppler_page_get_size (poppler_page, &page_width, &page_height); - *width = (gint) (page_width * rc->scale); - *height = (gint) (page_height * rc->scale); + *width = (gint) MAX (page_width * rc->scale, 1); + *height = (gint) MAX (page_height * rc->scale, 1); } - + if (rc->rotation == 90 || rc->rotation == 270) { gint temp; -- 2.43.5