pdf2djvu/pdf2djvu-0.7.4-poppler-0.20...

76 lines
2.1 KiB
Diff

--- pdf2djvu-0.7.4/pdf2djvu.cc 2010-06-12 22:20:36.000000000 +0200
+++ pdf2djvu-0.7.4/pdf2djvu.cc 2012-07-02 15:22:37.000000000 +0200
@@ -1334,15 +1334,27 @@ static int xmain(int argc, char * const
doc.reset(new pdf::Document(config.file_name));
assert(out1.get() == NULL);
out1.reset(new pdf::Renderer(paper_color, config.monochrome));
+#if POPPLER_VERSION < 1900
out1->startDoc(doc->getXRef());
+#else
+ out1->startDoc(doc.get());
+#endif
assert(outm.get() == NULL);
outm.reset(new MutedRenderer(paper_color, config.monochrome, *page_files));
+#if POPPLER_VERSION < 1900
outm->startDoc(doc->getXRef());
+#else
+ outm->startDoc(doc.get());
+#endif
assert(outs.get() == NULL);
if (!config.monochrome)
{
outs.reset(new MutedRenderer(paper_color, config.monochrome, *page_files));
+#if POPPLER_VERSION < 1900
outs->startDoc(doc->getXRef());
+#else
+ outs->startDoc(doc.get());
+#endif
}
}
assert(doc.get() != NULL);
--- pdf2djvu-0.7.4/pdf-backend.cc 2010-06-12 22:20:36.000000000 +0200
+++ pdf2djvu-0.7.4/pdf-backend.cc 2012-07-02 15:24:39.000000000 +0200
@@ -32,6 +32,7 @@
* ======================
*/
+#if POPPLER_VERSION < 1900
static void poppler_error_handler(int pos, char *message, va_list args)
{
std::string format;
@@ -49,6 +50,22 @@ static void poppler_error_handler(int po
}
error_log << std::endl;
}
+#else
+static void poppler_error_handler(void *data, ErrorCategory category, int pos, char *msg)
+{
+ if (pos >= 0)
+ {
+ error_log <<
+ string_printf(_("PDF error (%d): %s"), pos, msg);
+ }
+ else
+ {
+ error_log <<
+ string_printf(_("PDF error: %s"), msg);
+ }
+ error_log << std::endl;
+}
+#endif
pdf::Environment::Environment(const char *argv0)
{
@@ -61,7 +78,11 @@ pdf::Environment::Environment(const char
Cwd cwd(argv0_dir_name);
#endif
globalParams = new GlobalParams();
+#if POPPLER_VERSION < 1900
setErrorFunction(poppler_error_handler);
+#else
+ setErrorCallback(poppler_error_handler, NULL);
+#endif
}
void pdf::Environment::set_antialias(bool value)