]> www.fi.muni.cz Git - evince.git/blobdiff - backend/pdf/ev-poppler.cc
Use EvPage instead of page index to get links
[evince.git] / backend / pdf / ev-poppler.cc
index 503e468d23876d0a119847694f27e1be8bce7666..82cde9e311893145d439369c06eac7172aa9969b 100644 (file)
@@ -1260,7 +1260,7 @@ pdf_document_links_get_links_model (EvDocumentLinks *document_links)
 
 static GList *
 pdf_document_links_get_links (EvDocumentLinks *document_links,
-                             gint             page)
+                             EvPage          *page)
 {
        PdfDocument *pdf_document;
        PopplerPage *poppler_page;
@@ -1270,8 +1270,7 @@ pdf_document_links_get_links (EvDocumentLinks *document_links,
        double height;
 
        pdf_document = PDF_DOCUMENT (document_links);
-       poppler_page = poppler_document_get_page (pdf_document->document,
-                                                 page);
+       poppler_page = POPPLER_PAGE (page->backend_page);
        mapping_list = poppler_page_get_link_mapping (poppler_page);
        poppler_page_get_size (poppler_page, NULL, &height);
 
@@ -1293,7 +1292,6 @@ pdf_document_links_get_links (EvDocumentLinks *document_links,
        }
 
        poppler_page_free_link_mapping (mapping_list);
-       g_object_unref (poppler_page);
 
        return g_list_reverse (retval);
 }
@@ -2012,15 +2010,15 @@ pdf_selection_get_selection_region (EvSelection     *selection,
 }
 
 static GdkRegion *
-pdf_selection_get_selection_map (EvSelection     *selection,
-                                EvRenderContext *rc)
+pdf_selection_get_selection_map (EvSelection *selection,
+                                EvPage      *page)
 {
        PopplerPage *poppler_page;
        PopplerRectangle points;
        GList *region;
        GdkRegion *retval;
 
-       poppler_page = POPPLER_PAGE (rc->page->backend_page);
+       poppler_page = POPPLER_PAGE (page->backend_page);
 
        points.x1 = 0.0;
        points.y1 = 0.0;
@@ -2538,15 +2536,12 @@ ev_annot_from_poppler_annot (PopplerAnnot *poppler_annot,
                        if (poppler_attachment &&
                            attachment_save_to_buffer (poppler_attachment, &data, &size, &error)) {
                                EvAttachment *ev_attachment;
-                               gchar        *name;
 
-                               name = poppler_annot_file_attachment_get_name (poppler_annot_attachment);
-                               ev_attachment = ev_attachment_new (name,
+                               ev_attachment = ev_attachment_new (poppler_attachment->name,
                                                                   poppler_attachment->description,
                                                                   poppler_attachment->mtime,
                                                                   poppler_attachment->ctime,
                                                                   size, data);
-                               g_free (name);
                                ev_annot = ev_annotation_attachment_new (page, ev_attachment);
                                g_object_unref (ev_attachment);
                        } else if (error) {