summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-10-31Poppler 0.71.0poppler-0.71.0Albert Astals Cid4-5/+28
2018-10-31cpp/poppler-page-transition.cpp typoluzpaz1-1/+1
2018-10-31qt5: Test two leaks in a testAlbert Astals Cid1-0/+2
2018-10-31qt5: Fix crash when adding Highlight AnnotationsAlbert Astals Cid2-1/+32
2018-10-30Fix crash if document is malformed (too wide)Albert Astals Cid1-1/+6
oss-fuzz/11195
2018-10-29Update (C)Albert Astals Cid3-0/+3
2018-10-29Replace the implementation of GooString by std::string but keep the exact ↵Adam Reichold4-375/+135
interface intact. The approach is slightly different to GooList as it reimplements GooString in terms of std::string but keeps its interface intact and does expose any std::string functionality as of now. This is done since GooString has a significantly larger API surface and exposing both API would be quite confusing with with some overloads from GooString and some from std::string being visible. But it does mean we can align the API (they are already pretty close) and expose new things like a reserve method piece by piece. It also already helps in that the implementation of GooString is gone except for the original parts, i.e. the formatting, and we have zero cost conversion from/to std::string which should help in making more use of it elsewhere. It also gives us do-nothing-access to optimizations done for the standard library, e.g. word-level implementations of cmp and friends. (Note that the resulting GooString.cc is a bit funny as the formatting helper are now local to the translation unit, but I had to redeclare them to keep the diff small as I did not change them at all. But if this is done, they could probably just be moved to where the declarations are to make the source file more readable.)
2018-10-26glib-demo: Align property labels to top of cell.Elliott Sales de Andrade1-1/+1
2018-10-26qt5: Default to hidden symbolsAlbert Astals Cid2-4/+8
2018-10-26Remove glib/poppler.gidlAlistair Thomas1-217/+0
The GIDL format was the pre-cursor to the GObject Introspection Repository (GIR) format. Poppler has used GIR for a long time now.
2018-10-26poppler-toc.cpp: typo fixluzpaz1-1/+1
2018-10-25Add fuzzer target from oss-fuzz project and integrate it into the build ↵Adam Reichold4-7/+65
system via FUZZER CMake variable.
2018-10-24Fix typo in commentluzpaz1-1/+1
2018-10-23Replace GBool, gTrue, and gFalse by bool, true, false, resp.Oliver Sander219-5491/+5479
These are just non-standard names for bool, true, false, respectively. Getting rid of these names saves on layer of mental redirection, and enables proper syntax highlighting in editors.
2018-10-23Use GDateTime to format dates in GLib demo.Elliott Sales de Andrade1-9/+8
Removing localtime_r allows the demo to be built on Windows.
2018-10-23Remove SYSTEM flag from another file for mingw build.Elliott Sales de Andrade1-1/+1
2018-10-23Use dnf on Fedora instead of yum.Elliott Sales de Andrade1-3/+3
dnf replaced yum a few releases ago.
2018-10-23Enable searching for GTK on Windows.Elliott Sales de Andrade1-6/+3
There's no reason it can't be available (either natively, or when cross-compiling with mingw).
2018-10-23We don't need the LCMS find module anymoreAlbert Astals Cid1-84/+0
We only support lcms2 for a while
2018-10-220.70.1poppler-0.70.1Albert Astals Cid4-3/+7
2018-10-22glib: Install missing headerChristian Persch1-0/+1
https://gitlab.freedesktop.org/poppler/poppler/issues/647
2018-10-22also install libgtk3-dev so that glib demo is builtAlbert Astals Cid1-1/+1
2018-10-21Poppler 0.70.0poppler-0.70.0Albert Astals Cid6-6/+27
2018-10-21Remove commented out codeAlbert Astals Cid1-1/+0
2018-10-21Update (C)Albert Astals Cid56-14/+60
2018-10-21Adjust pdf writing to honor PDF/A rulesPhilipp Knechtges1-3/+4
PDF/A as can be tested with VeraPDF requires: - Second line needs to be a comment line with four characters with byte encoding above 127 - "obj" needs to be followed by a new line - "endobj" needs to start on a new line
2018-10-21PDFDoc: Add some constAlbert Astals Cid2-4/+4
2018-10-19glib: Only export symbols in the public APIChristian Persch15-0/+405
poppler-glib exported lots of internal C++ symbols that are not in the public API, nor have any ABI guarantees. Mark all public functions with POPPLER_PUBLIC, and use symbol visibility to hide everything else.
2018-10-19pdf-inspector: Link to the right librariesChristian Persch1-1/+7
pdf-inspector doesn't use libpoppler-glib, but linked to it. Changing it to link only to libpoppler revealed that it used lots of symbols from poppler-glib that poppler-glib should not export. Fix that by adding the necessary sources to the pdf-inspector sources and linking to the libraries needed by these sources (freetype, pthreads).
2018-10-19Add support for PDF subtype property (glib backend)Evangelos Rigas3-0/+352
Export PDFSubtype, PDFSubtypePart, and PDFSubtypeConformance to GLib as enums and add function to get the GTS string based on the PDF Subtype. Add PDF Subtype documentation reference in glib.
2018-10-17GfxFunctionShading::parse: Fix memory leak on broken filesAlbert Astals Cid1-0/+3
oss-fuzz/11020
2018-10-16Fix crash on missing embedded fileMarek Kasik2-10/+19
Check whether an embedded file is actually present in the PDF and show warning in that case. https://bugs.freedesktop.org/show_bug.cgi?id=106137 https://gitlab.freedesktop.org/poppler/poppler/issues/236
2018-10-16CI: fedora fixed their mingw packages, remove workaroundAlbert Astals Cid1-3/+0
2018-10-16Check for overflow in Splash::scaleImageYdXdAlbert Astals Cid1-1/+4
oss-fuzz/11006
2018-10-15Make Page::renderToImage with Arthur more thread safeTobias Deiminger1-1/+2
An application using ArthurBackend can be subject to multi threading. So better use a copy of XRef during rendering, just the same as it's already done when using SplashBackend.
2018-10-12SplashXPathScanner: Force inlining of addIntersectionStefan Brüns1-0/+1
The majority of the code in addIntersection can be optimized away for vertical (x0 == x1) and horizontal (count == 0) segments, thus the inlined code is less than the function call setup alone. This leaves diagonal segments as the only remaining call site, i.e. inlining here is a net win as well. Reduces runtime for #57 (fdo#96728, runsforever-poppler.pdf) from 1442 seconds to 1239 seconds (86%), and #24 (fdo#78728, surf-types.pdf) from ~ 5.0 seconds to 4.7 seconds.
2018-10-12SplashXPathScanner: Move more invariant code out of the loopStefan Brüns1-14/+20
"seg->x0 - seg->y0 * seg->dxdy" is constant and can be moved out of the loop. The next start point is the old end point. Thus, only the new x coordinate has to clamped (segXMin <= xx1 <= segXMax), also do the 'floor' operation just once per loop. According to valgrind/callgrind, this reduces instruction count in computeIntersections() for #24 (fdo#78728) by 6%. No change for fdo#96728.
2018-10-12SplashXPathScanner: Move invariant checks out of addIntersection loopStefan Brüns2-14/+11
For horizontal segments, count is always 0. For vertical/diagonal segments, the count depends on the winding rule (EvenOdd/NonZero) and the direction, but is constant for each segment. Reduces runtime for #57 (fdo#96728) from 1773 seconds to 1442 seconds (81%).
2018-10-12Skip XRef reconstruction for new-style XRef streamsTobias Deiminger1-4/+6
XRef::constructXRef was invented to support old style XRef tables. Sadly it won't work for XRef streams. If applied anyway, it corrupts our existing XRef::entries array. Better skip reconstruction for the XRef-stream-case in XRef::readXRefUntil (just like XRef::fetch already does). Fixes #139.
2018-10-10Remove usage of pragmas interface and implementationAdam Reichold152-618/+0
GCC recommends not using them for a long time and its documentation says: > These #pragmas have been superceded as of GCC 2.7.2 by COMDAT support > and the “key method” heuristic mentioned in Vague Linkage. > Using them can actually cause your program to grow due to > unnecessary out-of-line copies of inline functions. Also nobody seems to set USE_GCC_PRAGMAS and sometimes they were guarded by just __GNUC__ which upsets Clang.
2018-10-09Remove unused function in Decrypt translation unit.Adam Reichold1-3/+0
2018-10-09Remove unused debuggging function in CairoOutputDev translation unit.Adam Reichold1-7/+0
2018-10-09Fix memory leak in Catalog by tracking pages (and page refs) using ↵Adam Reichold2-64/+21
std::vector and std::unique_ptr instead of manually allocating them. oss-fuzz/10119
2018-10-08Move 'default' definition of con-/destructors to .cc fileOliver Sander2-27/+81
2018-10-08Make compile againOliver Sander1-36/+3
2018-10-08Remove out-commented codeOliver Sander1-1/+0
2018-10-08Fix typo in a commentOliver Sander1-1/+1
2018-10-08Make my own mess compile againOliver Sander2-6/+6
2018-10-08Port AnnotPath to use std::vector<AnnotCoord> instead of ↵Adam Reichold3-27/+18
std::unique_ptr<AnnotCoord> to further avoid manual memory management.
2018-10-08Remove an unnecessary pointer assignmentOliver Sander1-1/+0
No need to set a std::unique_ptr to nullptr right before it goes out of scope.