]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/pdf-document.cc
ignore page offset here, to make search results independent of it,
[evince.git] / pdf / xpdf / pdf-document.cc
index b9180bd9988b1e712c4c79a445401f5777e33e3e..22e7e4138ad3f5e543d3fce0ecfddcfc62b6180d 100644 (file)
@@ -484,8 +484,8 @@ pdf_document_search_page_changed (PdfDocumentSearch   *search)
                                          &xMin, &yMin, &xMax, &yMax)) {
                 result.page_num = pdf_document->page;
 
-                result.highlight_area.x = xMin + pdf_document->page_x_offset;
-                result.highlight_area.y = yMin + pdf_document->page_y_offset;
+                result.highlight_area.x = xMin;
+                result.highlight_area.y = yMin;
                 result.highlight_area.width = xMax - xMin;
                 result.highlight_area.height = yMax - yMin;
 
@@ -499,8 +499,8 @@ pdf_document_search_page_changed (PdfDocumentSearch   *search)
 
                         result.page_num = pdf_document->page;
 
-                        result.highlight_area.x = xMin + pdf_document->page_x_offset;
-                        result.highlight_area.y = yMin + pdf_document->page_y_offset;
+                        result.highlight_area.x = xMin;
+                        result.highlight_area.y = yMin;
                         result.highlight_area.width = xMax - xMin;
                         result.highlight_area.height = yMax - yMin;
 
@@ -1041,17 +1041,21 @@ pdf_document_get_link (EvDocument *document, int x, int y)
        LinkAction *action;
        double link_x, link_y;
 
-       /* Zoom */
-       link_x = x / pdf_document->scale;
-       link_y = y / pdf_document->scale;
+       if (pdf_document->links == NULL) {
+               return NULL;
+       }
 
        /* Offset */
-       link_x -= pdf_document->page_x_offset;
-       link_y -= pdf_document->page_y_offset;
+       link_x = x - pdf_document->page_x_offset;
+       link_y = y - pdf_document->page_y_offset;
 
        /* Inverse y */
        link_y = pdf_document->out->getBitmapHeight() - link_y;
 
+       /* Zoom */
+       link_x = link_x / pdf_document->scale;
+       link_y = link_y / pdf_document->scale;
+
        action = pdf_document->links->find (link_x, link_y);
        
        if (action) {