$NetBSD: patch-ac,v 1.3 2011/04/18 17:10:23 drochner Exp $

--- src/PDFDocument.cxx.orig	2009-02-28 21:00:35.000000000 +0000
+++ src/PDFDocument.cxx
@@ -324,7 +324,7 @@ PDFDocument::loadMetadata (void)
     gchar *format = NULL;
     gchar *keywords = NULL;
     PopplerPageLayout layout = POPPLER_PAGE_LAYOUT_UNSET;
-    gchar *linearized = NULL;
+    gboolean linearized = 0;
     GTime modDate;
     PopplerPageMode mode = POPPLER_PAGE_MODE_UNSET;
     gchar *producer = NULL;
@@ -680,13 +680,13 @@ PDFDocument::setTextSelection (DocumentR
 
     //for get text we must exchange y coordinate, don't ask me where logic here.
     PopplerRectangle textRect = { rect->getX1() / getZoom(),
-                                  (pageHeight - rect->getY2() / getZoom()),
-                                  rect->getX2() * getZoom() / getZoom(),
-                                  (pageHeight - rect->getY1() / getZoom())};
+                                  rect->getY1() / getZoom(),
+                                  rect->getX2() / getZoom(),
+                                  rect->getY2() / getZoom()};
     repairEmpty(textRect);
 
 #if defined (HAVE_POPPLER_0_6_0)
-    gchar *text = poppler_page_get_text(page, POPPLER_SELECTION_GLYPH,
+    gchar *text = poppler_page_get_selected_text(page, POPPLER_SELECTION_GLYPH,
             &textRect);
 #else // !HAVE_POPPLER_0_6_0
     gchar *text = poppler_page_get_text(page, &textRect);
