X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=backend%2Fpdf%2Fev-poppler.cc;h=841706ead130de392cbe9b01f7a497f545dcf80d;hb=0b6b3dff626d31a368ef9a95f8ed73b404eec9bf;hp=bdce0b528695bab193c071867190c4c24df51796;hpb=403e51ad9a6d49b075408c56e101fdfcfae784fd;p=evince.git diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc index bdce0b52..841706ea 100644 --- a/backend/pdf/ev-poppler.cc +++ b/backend/pdf/ev-poppler.cc @@ -31,7 +31,7 @@ #ifdef HAVE_CAIRO_PS #include #endif -#include +#include #include "ev-poppler.h" #include "ev-file-exporter.h" @@ -228,6 +228,7 @@ static void convert_error (GError *poppler_error, GError **error) { + g_return_if_fail (poppler_error != NULL); if (poppler_error == NULL) return; @@ -239,12 +240,12 @@ convert_error (GError *poppler_error, else if (poppler_error->code == POPPLER_ERROR_ENCRYPTED) code = EV_DOCUMENT_ERROR_ENCRYPTED; + g_set_error_literal (error, + EV_DOCUMENT_ERROR, + code, + poppler_error->message); - g_set_error (error, - EV_DOCUMENT_ERROR, - code, - poppler_error->message, - NULL); + g_error_free (poppler_error); } else { g_propagate_error (error, poppler_error); } @@ -883,7 +884,7 @@ ev_link_dest_from_dest (PdfDocument *pdf_document, poppler_page_get_size (poppler_page, NULL, &height); ev_dest = ev_link_dest_new_xyz (dest->page_num - 1, dest->left, - height - dest->top, + height - MIN (height, dest->top), dest->zoom, dest->change_left, dest->change_top, @@ -902,7 +903,7 @@ ev_link_dest_from_dest (PdfDocument *pdf_document, MAX (0, dest->page_num - 1)); poppler_page_get_size (poppler_page, NULL, &height); ev_dest = ev_link_dest_new_fith (dest->page_num - 1, - height - dest->top, + height - MIN (height, dest->top), dest->change_top); g_object_unref (poppler_page); } @@ -921,9 +922,9 @@ ev_link_dest_from_dest (PdfDocument *pdf_document, poppler_page_get_size (poppler_page, NULL, &height); ev_dest = ev_link_dest_new_fitr (dest->page_num - 1, dest->left, - height - dest->bottom, + height - MIN (height, dest->bottom), dest->right, - height - dest->top); + height - MIN (height, dest->top)); g_object_unref (poppler_page); } break;