Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About
Login

Console View

Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

Sune Vuorela
GooString: Remove unused concatenate constructor
Albert Astals Cid
Update (C)
Masamichi Hosoda
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
Use Python3 instead of PythonInterp since we already require newer cmake
Thanks Funda Wang for the suggestion
Sune Vuorela
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
Increase version so people that track master can add ifdefs on version
Albert Astals Cid
poppler 25.03.0
Albert Astals Cid
Update (C)
Albert Astals Cid
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
Fix memory leaks introduced in the str->reset commit
Albert Astals Cid
Update (C)
Sune Vuorela
fix pgp test with no signature backends
Sune Vuorela
Fix windows; include array
Sune Vuorela
Add unit test
Sune Vuorela
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
Fix windows run
Albert Astals Cid
Update (C)
Juraj Šarinay
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
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
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
Do not embed unnecessary fonts if signature appearance string is empty.
Sune Vuorela
Less goostring pointers
Stream formats can be std::string, and a few other pointers aren't
needed
Sune Vuorela
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
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
Signing: Improve error handling on bad passphrase
Albert Astals Cid
Update (C)
Aaron Nguyen
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
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
Update (C)
Even Rouault
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
Update (C)
Sune Vuorela
Enforce error checking on stream::reset
Stefan Brüns
[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
[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
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
CI: Enable bugprone-unchecked-optional-access
Sune Vuorela
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
Increase version so people that track master can add ifdefs on version
Albert Astals Cid
poppler 25.02.0
Albert Astals Cid
Fix build on MSVC