Console View
|
|
|||
Sune Vuorela
sune @vuorela.dk |
|
||
GooString: Remove unused concatenate constructor | |||
Albert Astals Cid
aacid @kde.org |
|
||
Update (C) | |||
Masamichi Hosoda
trueroad @trueroad.jp |
|
||
Fix pdfcairo's document unit for SVG output Using cairo 1.17.6 and later, pdftocairo outputted SVGs with the wrong width and height. Starting with cairo 1.17.6, the default SVG units have been changed from pt to user units. https://gitlab.freedesktop.org/cairo/cairo/-/issues/545 pdftocairo did not set the SVG unit, and the change in cairo's default caused pdfcairo's SVG output to be incorrect. This commit makes pdftocairo set the SVG unit to pt. So, pdftocairo outputs SVGs that have the correct width and height. |
|||
Albert Astals Cid
aacid @kde.org |
|
||
Use Python3 instead of PythonInterp since we already require newer cmake Thanks Funda Wang for the suggestion |
|||
Sune Vuorela
sune @vuorela.dk |
|
||
Forbid GooString from explicit nullptr creation c++23 will do that for us for std::string, so just ensure nothing like that sneaks into the codebase. |
|||
Albert Astals Cid
aacid @kde.org |
|
||
Increase version so people that track master can add ifdefs on version | |||
Albert Astals Cid
aacid @kde.org |
|
||
poppler 25.03.0 | |||
Albert Astals Cid
aacid @kde.org |
|
||
Update (C) | |||
Albert Astals Cid
aacid @kde.org |
|
||
Set aOidData.oid.type Otherwise later aAttribute.type = aOidData.oid; ends up being a copy of unused memory siBuffer is what the old code removed in 84f5268256b40d40f12fa2290845b607d7895529 used Also remove an aOidData.oid.data = nullptr; that does nothing since it gets overwritten 2 lines later |
|||
Albert Astals Cid
aacid @kde.org |
|
||
Fix memory leaks introduced in the str->reset commit | |||
Albert Astals Cid
aacid @kde.org |
|
||
Update (C) | |||
Sune Vuorela
sune @vuorela.dk |
|
||
fix pgp test with no signature backends | |||
Sune Vuorela
sune @vuorela.dk |
|
||
Fix windows; include array | |||
Sune Vuorela
sune @vuorela.dk |
|
||
Add unit test | |||
Sune Vuorela
sune @vuorela.dk |
|
||
Put a pgp signature in a pdf file Allow putting a pgp signature in a pdf file. This is not fully documented inside the specification, but basically it is replacing the CMS bundle as described with a pgp bundle. These signatures are tagged in the g10c namespace (https://github.com/adobe/pdf-names-list/issues/45) and is only implemented in the GPGME backend as a 'whatever gpg understands'. A special difference is that the signature is not padded with zeroes, but with a gpg comment packet with the exact size to fill the void. |
|||
Sune Vuorela
sune @vuorela.dk |
|
||
Fix windows run | |||
Albert Astals Cid
aacid @kde.org |
|
||
Update (C) | |||
Juraj Šarinay
juraj @sarinay.com |
|
||
Remove my_SEC_StringToOID(), replace the string by an OID. The function was only ever called on string representation of id-aa-signingCertificateV2. Simplify the code by using the corresponding OID directly and remove the function. |
|||
Markus Göllnitz
camelcasenick @bewares.it |
|
||
glib: check file attachment annotation for this class before casting The check was correct, but not sufficient and could lead to segmentation violations. Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it> |
|||
Markus Göllnitz
camelcasenick @bewares.it |
|
||
glib: subclass stamp as markup AnnotStamp already sublasses AnnotMarkup in poppler/Annot.cc, but this was never exposed to GLib. Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it> |
|||
Juraj Šarinay
juraj @sarinay.com |
|
||
Do not embed unnecessary fonts if signature appearance string is empty. | |||
Sune Vuorela
sune @vuorela.dk |
|
||
Less goostring pointers Stream formats can be std::string, and a few other pointers aren't needed |
|||
Sune Vuorela
sune @vuorela.dk |
|
||
Signature-GPGME: more correct validation handling Previously the code used the slightly higher-level api that tried to combine signature and certificate validation into one. Given poppler have the certificate validation as a different step, use just the signature valditaion api for signature validation api. |
|||
Sune Vuorela
sune @vuorela.dk |
|
||
Less manual new/delete of GooString * Replace a few with std::string * Microoptimization: fewer string compares * Replace manual refcount with shared_ptr * Do a couple of std::string_view |
|||
Sune Vuorela
sune @vuorela.dk |
|
||
Signing: Improve error handling on bad passphrase | |||
Albert Astals Cid
aacid @kde.org |
|
||
Update (C) | |||
Aaron Nguyen
aaron.nguyen @veeva.com |
|
||
Handle bad catalog dictionaries where Pages points to its child This should take care of edge cases like Issue #1559 where we get errors like `Syntax Error: Kids object (page 1) is wrong type (null)` in scenarios where there are incorrect Pages value in its catalog dictionary. In the case of `badcatalogpages.pdf` in Issue #1559, the Pages value `/Pages 14 0 R` actually points to its Kid, which is a Page value. Here is the PDF content stream for `badcatalogpages.pdf`: ``` 12 0 obj <</Lang(en)/MarkInfo<</Marked true>>/Metadata 9 0 R/Pages 14 0 R/StructTreeRoot 3 0 R/Type/Catalog/ViewerPreferences 13 0 R/OutputIntents[1 0 R]/Version/1.7>> endobj ... 14 0 obj <</Contents 32 0 R/CropBox[0 0 612 792]/MediaBox[0 0 612 792]/Parent 31 0 R/Resources<</ExtGState 28 0 R/Font 15 0 R/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Rotate 0/StructParents 0/Tabs/S/Type/Page/Annots[]>> endobj ... 31 0 obj <</Count 1/Kids[14 0 R]/Type/Pages>> endobj ``` |
|||
Jan-Michael Brummer
jan-michael.brummer1 @volkswagen.de |
|
||
glib: Fix default signature colors The newly introduced color conversion function expects 16bit, not 8bit. Adjust default colors accordingly. Fixes: https://gitlab.freedesktop.org/poppler/poppler/-/issues/1564 |
|||
Albert Astals Cid
aacid @kde.org |
|
||
Update (C) | |||
Even Rouault
even.rouault @spatialys.com |
|
||
Add Page::getPageObj() getter The GDAL PDF driver (https://github.com/OSGeo/gdal/tree/master/frmts/pdf) needs low level access to PDF objects. In particular it needs to access the Object Page::pageObj private member. To workaround that, GDAL uses nasty '#define private public' hacks, which beyond being ugly, occasionaly cause practical build issues such as https://github.com/OSGeo/gdal/issues/11477 Having a clean getter makes things much easier. If this change is adopted, the following cleanup will be possible: https://github.com/rouault/gdal/commit/3594ee6e0ad6f4f806299e3b4c67cb7eb3a1853d |
|||
Albert Astals Cid
aacid @kde.org |
|
||
Update (C) | |||
Sune Vuorela
sune @vuorela.dk |
|
||
Enforce error checking on stream::reset | |||
Stefan Brüns
stefan.bruens @rwth-aachen.de |
|
||
[TextOutputDev] Replace some gmallocn with vector Instead of manually tracking the size of the temporary array just use a std::vector and push_back. Move the various iteration counters and variables from function scope to the appropriate loop scope. |
|||
Stefan Brüns
stefan.bruens @rwth-aachen.de |
|
||
[TextOutputDev] Use std::sort instead of qsort, minor cleanup/fixes Replacing qsort with std::sort is fairly trivial, but gives some extra type safety and possibly some speedup due to inlining. The stricter type checks require to change the argument types of e.g. TextLineFrag::cmp* methods, but also gets rid of the type cast (to non-const! TextLineFrag*), likewise for the other classes. The return type change may see deliberate, but is necessary as both +1 and -1 are evaluated as true, and std::sort requires a compare function which returns bool. Note, the order is indeterminate in case both elements are compared as same, but this happens with both std::sort and qsort (man qsort: "If two members compare as equal, their order in the sorted array is undefined."). There are some included changes which are less obvious: - std::sort(nullptr, nullptr + 0, ...) is safe (no dereference), remove the extra nullptr check (`if (blocks)`). - No need for the immediate `wordArray` in TextWordList, just sort the std::vector<TextWord *> words. - TextBlock::cmpYXPrimaryRot is unused, remove it. |
|||
Stefan Brüns
stefan.bruens @rwth-aachen.de |
|
||
Simplify last line handling for TextPage::dump `!(i < nFrags - 1)` is the same as `i == nFrags -1` (as `i < nFrags` is a precondition), i.e. the second check is repetitive - just output the EOL once for the last line. |
|||
Albert Astals Cid
aacid @kde.org |
|
||
CI: Enable bugprone-unchecked-optional-access | |||
Sune Vuorela
sune @vuorela.dk |
|
||
Fix compiler warning The compiler claims that x2 and y2 might be unitialized. The compiler might be wrong, but let's just initialize anyways. |
|||
Albert Astals Cid
aacid @kde.org |
|
||
Increase version so people that track master can add ifdefs on version | |||
Albert Astals Cid
aacid @kde.org |
|
||
poppler 25.02.0 | |||
Albert Astals Cid
aacid @kde.org |
|
||
Fix build on MSVC | |||