[poppler] qt5/tests

2017-09-13 Thread Albert Astals Cid
 qt5/tests/test-render-to-file.cpp |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 500ce88a3b5b0bd556ac6941ba66a86cae44663a
Author: Oliver Sander 
Date:   Wed Sep 13 12:12:29 2017 +0200

Fix two minor typos

diff --git a/qt5/tests/test-render-to-file.cpp 
b/qt5/tests/test-render-to-file.cpp
index 5f86da42..20398ddb 100644
--- a/qt5/tests/test-render-to-file.cpp
+++ b/qt5/tests/test-render-to-file.cpp
@@ -14,7 +14,7 @@ int main( int argc, char **argv )
 argc > 3)
 {
 // use argument as file name
-qWarning() << "usage: test-poppler-qt4 filename [-arthur]";
+qWarning() << "usage: test-render-to-file-qt5 filename [-arthur]";
 exit(1);
 }
   
@@ -60,7 +60,7 @@ int main( int argc, char **argv )
 QTime t = QTime::currentTime();
 QImage image = page->renderToImage();
 qDebug() << "Rendering took" << t.msecsTo(QTime::currentTime()) << 
"msecs";
-image.save(QString("test-rennder-to-file%1.ppm").arg(i));
+image.save(QString("test-render-to-file%1.ppm").arg(i));
 delete page;
 }
 }
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] poppler/Gfx.cc poppler/GfxFont.cc poppler/GfxFont.h poppler/Gfx.h

2017-09-13 Thread Albert Astals Cid
 poppler/Gfx.cc |   25 +++--
 poppler/Gfx.h  |1 +
 poppler/GfxFont.cc |8 
 poppler/GfxFont.h  |1 +
 4 files changed, 33 insertions(+), 2 deletions(-)

New commits:
commit aaf5327649e8f7371c9d3270e7813c43ddfd47ee
Author: Albert Astals Cid 
Date:   Wed Sep 13 23:01:03 2017 +0200

Gfx::doShowText: Fix infinite recursion on broken files

Bug #102701

diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc
index 6ffb7bcf..3eea6d2a 100644
--- a/poppler/Gfx.cc
+++ b/poppler/Gfx.cc
@@ -3953,12 +3953,33 @@ void Gfx::doShowText(GooString *s) {
   state->transformDelta(dx, dy, , );
   if (!out->beginType3Char(state, curX + riseX, curY + riseY, ddx, ddy,
   code, u, uLen)) {
-   Object charProc = ((Gfx8BitFont *)font)->getCharProc(code);
+   Object charProc = ((Gfx8BitFont *)font)->getCharProcNF(code);
+   int refNum = -1;
+   if (charProc.isRef()) {
+ refNum = charProc.getRef().num;
+ charProc = charProc.fetch(((Gfx8BitFont 
*)font)->getCharProcs()->getXRef());
+   }
if ((resDict = ((Gfx8BitFont *)font)->getResources())) {
  pushResources(resDict);
}
if (charProc.isStream()) {
- display(, gFalse);
+ std::set::iterator charProcDrawingIt;
+ bool displayCharProc = true;
+ if (refNum != -1) {
+   if (charProcDrawing.find(refNum) == charProcDrawing.end()) {
+ charProcDrawingIt = charProcDrawing.insert(refNum).first;
+   } else {
+ displayCharProc = false;
+ error(errSyntaxError, -1, "CharProc wants to draw a CharProc that 
is already beign drawn");
+   }
+ }
+ if (displayCharProc) {
+   display(, gFalse);
+
+   if (refNum != -1) {
+ charProcDrawing.erase(charProcDrawingIt);
+   }
+ }
} else {
  error(errSyntaxError, getPos(), "Missing or bad Type3 CharProc 
entry");
}
diff --git a/poppler/Gfx.h b/poppler/Gfx.h
index 00eaec49..293f4551 100644
--- a/poppler/Gfx.h
+++ b/poppler/Gfx.h
@@ -228,6 +228,7 @@ private:
   Parser *parser;  // parser for page content stream(s)
   
   std::set formsDrawing;  // the forms that are being drawn
+  std::set charProcDrawing;   // the charProc that are being drawn
 
   GBool// callback to check for an abort
 (*abortCheckCbk)(void *data);
diff --git a/poppler/GfxFont.cc b/poppler/GfxFont.cc
index d95f8f7c..1c3d0b25 100644
--- a/poppler/GfxFont.cc
+++ b/poppler/GfxFont.cc
@@ -1759,6 +1759,14 @@ Object Gfx8BitFont::getCharProc(int code) {
   }
 }
 
+Object Gfx8BitFont::getCharProcNF(int code) {
+  if (enc[code] && charProcs.isDict()) {
+return charProcs.dictLookupNF(enc[code]);
+  } else {
+return Object(objNull);
+  }
+}
+
 Dict *Gfx8BitFont::getResources() {
   return resources.isDict() ? resources.getDict() : (Dict *)NULL;
 }
diff --git a/poppler/GfxFont.h b/poppler/GfxFont.h
index 06c1df6d..5985912a 100644
--- a/poppler/GfxFont.h
+++ b/poppler/GfxFont.h
@@ -353,6 +353,7 @@ public:
 
   // Return the Type 3 CharProc for the character associated with .
   Object getCharProc(int code);
+  Object getCharProcNF(int code);
 
   // Return the Type 3 Resources dictionary, or NULL if none.
   Dict *getResources();
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] poppler/XRef.cc

2017-09-13 Thread Albert Astals Cid
 poppler/XRef.cc |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 476394e7a025e02e4897da2e765df2c895d0708f
Author: Albert Astals Cid 
Date:   Wed Sep 13 22:58:14 2017 +0200

XRef::parseEntry: Fix crash in broken file

Bug #102687

diff --git a/poppler/XRef.cc b/poppler/XRef.cc
index eca2dc70..f3b88ec0 100644
--- a/poppler/XRef.cc
+++ b/poppler/XRef.cc
@@ -1526,6 +1526,9 @@ GBool XRef::parseEntry(Goffset offset, XRefEntry *entry)
 {
   GBool r;
 
+  if (unlikely(entry == nullptr))
+return gFalse;
+
   Parser parser(NULL, new Lexer(NULL,
  str->makeSubStream(offset, gFalse, 20, Object(objNull))), gTrue);
 
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] utils/pdfinfo.cc

2017-09-13 Thread Adrian Johnson
 utils/pdfinfo.cc |1 -
 1 file changed, 1 deletion(-)

New commits:
commit 0f891b85169dabd3d23348aba40266547bd4bcf6
Author: Adrian Johnson 
Date:   Wed Sep 13 20:12:52 2017 +0930

pdfinfo: don't truncate dest name

diff --git a/utils/pdfinfo.cc b/utils/pdfinfo.cc
index 2daff7f9..2ef1cd59 100644
--- a/utils/pdfinfo.cc
+++ b/utils/pdfinfo.cc
@@ -407,7 +407,6 @@ static void printDestinations(PDFDoc *doc, UnicodeMap 
*uMap) {
   auto pageDests = map.find(*ref);
   if (pageDests != map.end()) {
for (auto& it: pageDests->second) {
- it.first->getCString()[4] = 0;
  printf("%4d ", i);
  printLinkDest(it.second);
  printf(" \"");
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler


[poppler] cmake/modules

2017-09-13 Thread Adrian Johnson
 cmake/modules/PopplerMacros.cmake |   44 --
 1 file changed, 24 insertions(+), 20 deletions(-)

New commits:
commit 951e7b3c1f337ceaf490edce3c575f89c45cb6d4
Author: Adrian Johnson 
Date:   Wed Sep 13 19:24:07 2017 +0930

cmake: ensure user cflags/cxxflags are appended to end

diff --git a/cmake/modules/PopplerMacros.cmake 
b/cmake/modules/PopplerMacros.cmake
index 408e6dca..442e7ee5 100644
--- a/cmake/modules/PopplerMacros.cmake
+++ b/cmake/modules/PopplerMacros.cmake
@@ -100,7 +100,7 @@ endif(NOT CMAKE_BUILD_TYPE AND NOT 
CMAKE_CONFIGURATION_TYPES)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override" )
+  set(CMAKE_CXX_FLAGS "-Wsuggest-override ${CMAKE_CXX_FLAGS}" )
endif()
 
   # set the default compile warnings
@@ -108,18 +108,20 @@ if(CMAKE_COMPILER_IS_GNUCXX)
   set(DEFAULT_COMPILE_WARNINGS_YES "-Wall -Wcast-align -fno-exceptions 
-fno-check-new -fno-common")
   set(DEFAULT_COMPILE_WARNINGS_KDE "-Wno-long-long -Wundef -D_XOPEN_SOURCE=600 
-D_BSD_SOURCE -Wcast-align -Wconversion -Wall -W -Wpointer-arith 
-Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions 
-fno-check-new -fno-common")
 
-  set(CMAKE_CXX_FLAGS"-Wnon-virtual-dtor -Woverloaded-virtual 
-D_DEFAULT_SOURCE ${CMAKE_CXX_FLAGS}")
-  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
-  set(CMAKE_CXX_FLAGS_RELEASE"-O2 -DNDEBUG")
-  set(CMAKE_CXX_FLAGS_DEBUG  "-g -O2 -fno-reorder-blocks 
-fno-schedule-insns -fno-inline")
-  set(CMAKE_CXX_FLAGS_DEBUGFULL  "-g3 -fno-inline")
-  set(CMAKE_CXX_FLAGS_PROFILE"-g3 -fno-inline -ftest-coverage 
-fprofile-arcs")
+  set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
+  set(CMAKE_CXX_FLAGS"-Wnon-virtual-dtor -Woverloaded-virtual 
-D_DEFAULT_SOURCE")
+  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
+  set(CMAKE_CXX_FLAGS_RELEASE"-O2 -DNDEBUG ${_save_cxxflags}")
+  set(CMAKE_CXX_FLAGS_DEBUG  "-g -O2 -fno-reorder-blocks 
-fno-schedule-insns -fno-inline ${_save_cxxflags}")
+  set(CMAKE_CXX_FLAGS_DEBUGFULL  "-g3 -fno-inline ${_save_cxxflags}")
+  set(CMAKE_CXX_FLAGS_PROFILE"-g3 -fno-inline -ftest-coverage 
-fprofile-arcs ${_save_cxxflags}")
+  set(_save_cflags "${CMAKE_C_FLAGS}")
   set(CMAKE_C_FLAGS  "-std=c99")
-  set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
-  set(CMAKE_C_FLAGS_RELEASE  "-O2 -DNDEBUG")
-  set(CMAKE_C_FLAGS_DEBUG"-g -O2 -fno-reorder-blocks 
-fno-schedule-insns -fno-inline")
-  set(CMAKE_C_FLAGS_DEBUGFULL"-g3 -fno-inline")
-  set(CMAKE_C_FLAGS_PROFILE  "-g3 -fno-inline -ftest-coverage 
-fprofile-arcs")
+  set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g ${_save_cflags}")
+  set(CMAKE_C_FLAGS_RELEASE  "-O2 -DNDEBUG ${_save_cflags}")
+  set(CMAKE_C_FLAGS_DEBUG"-g -O2 -fno-reorder-blocks 
-fno-schedule-insns -fno-inline ${_save_cflags}")
+  set(CMAKE_C_FLAGS_DEBUGFULL"-g3 -fno-inline ${_save_cflags}")
+  set(CMAKE_C_FLAGS_PROFILE  "-g3 -fno-inline -ftest-coverage 
-fprofile-arcs ${_save_cflags}")
 
   poppler_check_link_flag("-Wl,--as-needed" GCC_HAS_AS_NEEDED)
   if(GCC_HAS_AS_NEEDED)
@@ -130,13 +132,15 @@ if(CMAKE_COMPILER_IS_GNUCXX)
 endif (CMAKE_COMPILER_IS_GNUCXX)
 
 if(CMAKE_C_COMPILER MATCHES "icc")
-  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
-  set(CMAKE_CXX_FLAGS_RELEASE"-O2 -DNDEBUG")
-  set(CMAKE_CXX_FLAGS_DEBUG  "-O2 -g -0b0 -noalign")
-  set(CMAKE_CXX_FLAGS_DEBUGFULL  "-g -Ob0 -noalign")
-  set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
-  set(CMAKE_C_FLAGS_RELEASE  "-O2 -DNDEBUG")
-  set(CMAKE_C_FLAGS_DEBUG"-O2 -g -Ob0 -noalign")
-  set(CMAKE_C_FLAGS_DEBUGFULL"-g -Ob0 -noalign")
+  set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
+  set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
+  set(CMAKE_CXX_FLAGS_RELEASE"-O2 -DNDEBUG ${_save_cxxflags}")
+  set(CMAKE_CXX_FLAGS_DEBUG  "-O2 -g -0b0 -noalign ${_save_cxxflags}")
+  set(CMAKE_CXX_FLAGS_DEBUGFULL  "-g -Ob0 -noalign ${_save_cxxflags}")
+  set(_save_cflags "${CMAKE_C_FLAGS}")
+  set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g ${_save_cflags}")
+  set(CMAKE_C_FLAGS_RELEASE  "-O2 -DNDEBUG ${_save_cflags}")
+  set(CMAKE_C_FLAGS_DEBUG"-O2 -g -Ob0 -noalign ${_save_cflags}")
+  set(CMAKE_C_FLAGS_DEBUGFULL"-g -Ob0 -noalign ${_save_cflags}")
 endif(CMAKE_C_COMPILER MATCHES "icc")
 
___
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler