summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-03-26Fix overflow mallocAlbert Astals Cid1-2/+2
2014-03-26Fix error reported by ASAN in 1195.asan.0.293.pdfAlbert Astals Cid1-2/+3
==31060== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60040002a215 at pc 0x7f5614cd96c4 bp 0x7fff54a44050 sp 0x7fff54a44048 READ of size 1 at 0x60040002a215 thread T0 #0 0x7f5614cd96c3 in JBIG2Stream::readGenericBitmap(bool, int, int, int, bool, bool, JBIG2Bitmap*, int*, int*, int) /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:3389 #1 0x7f5614cce0e7 in JBIG2Stream::readSymbolDictSeg(unsigned int, unsigned int, unsigned int*, unsigned int) /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1867 #2 0x7f5614ccb8fe in JBIG2Stream::readSegments() /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1408 #3 0x7f5614cca72e in JBIG2Stream::reset() /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1248 #4 0x7f5614d1648b in ImageStream::reset() /home/tsdgeos/devel/poppler/poppler/Stream.cc:484 #5 0x7f5614de6578 in SplashOutputDev::drawImage(GfxState*, Object*, Stream*, int, int, GfxImageColorMap*, bool, int*, bool) /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:3158 #6 0x7f5614c41d64 in Gfx::doImage(Object*, Stream*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4653 #7 0x7f5614c3ede0 in Gfx::opXObject(Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179 #8 0x7f5614c1933a in Gfx::execOp(Object*, Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903 #9 0x7f5614c1850f in Gfx::go(bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762 #10 0x7f5614c18163 in Gfx::display(Object*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728 #11 0x7f5614cfae27 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/Page.cc:585 #12 0x7f5614d02353 in PDFDoc::displayPageSlice(OutputDev*, int, double, double, int, bool, bool, bool, int, int, int, int, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503 #13 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*, int, int, int, int, int, double, double, char*) /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222 #14 0x404416 in main /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521 #15 0x7f5614322ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #16 0x401d58 in _start (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
2014-03-26Fix error reported by ASAN in 6609.asan.0.8343.pdfAlbert Astals Cid1-2/+3
==8470== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f3b12f7b5e1 at pc 0x7f3b0f915f5e bp 0x7fff47842de0 sp 0x7fff47842dd8 READ of size 1 at 0x7f3b12f7b5e1 thread T0 #0 0x7f3b0f915f5d in JBIG2Stream::readGenericBitmap(bool, int, int, int, bool, bool, JBIG2Bitmap*, int*, int*, int) /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:3628 #1 0x7f3b0f910558 in JBIG2Stream::readGenericRegionSeg(unsigned int, bool, bool, unsigned int) /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:2849 #2 0x7f3b0f906b33 in JBIG2Stream::readSegments() /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1443 #3 0x7f3b0f90572e in JBIG2Stream::reset() /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1248 #4 0x7f3b0f951459 in ImageStream::reset() /home/tsdgeos/devel/poppler/poppler/Stream.cc:484 #5 0x7f3b0fa21546 in SplashOutputDev::drawImage(GfxState*, Object*, Stream*, int, int, GfxImageColorMap*, bool, int*, bool) /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:3158 #6 0x7f3b0f87cd64 in Gfx::doImage(Object*, Stream*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4653 #7 0x7f3b0f879de0 in Gfx::opXObject(Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179 #8 0x7f3b0f85433a in Gfx::execOp(Object*, Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903 #9 0x7f3b0f85350f in Gfx::go(bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762 #10 0x7f3b0f853163 in Gfx::display(Object*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728 #11 0x7f3b0f935df5 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/Page.cc:585 #12 0x7f3b0f93d321 in PDFDoc::displayPageSlice(OutputDev*, int, double, double, int, bool, bool, bool, int, int, int, int, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503 #13 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*, int, int, int, int, int, double, double, char*) /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222 #14 0x404416 in main /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521 #15 0x7f3b0ef5dec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #16 0x401d58 in _start (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
2014-03-26Fix error reported by ASAN in 6760.asan.0.8568.pdfAlbert Astals Cid1-2/+6
==26566== ERROR: AddressSanitizer: SEGV on unknown address 0x7fffbc3e5ea8 (pc 0x7fe1fa858db1 sp 0x7fffc788eb30 bp 0x7fffc788eb40 T0) AddressSanitizer can not provide additional info. #0 0x7fe1fa858db0 in PSStack::index(int) /home/tsdgeos/devel/poppler/poppler/Function.cc:1067 #1 0x7fe1fa856fd6 in PostScriptFunction::exec(PSStack*, int) /home/tsdgeos/devel/poppler/poppler/Function.cc:1621 #2 0x7fe1fa854c10 in PostScriptFunction::transform(double*, double*) /home/tsdgeos/devel/poppler/poppler/Function.cc:1266 #3 0x7fe1fa854097 in PostScriptFunction::PostScriptFunction(Object*, Dict*) /home/tsdgeos/devel/poppler/poppler/Function.cc:1216 #4 0x7fe1fa84a0c2 in Function::parse(Object*, std::set<int, std::less<int>, std::allocator<int> >*) /home/tsdgeos/devel/poppler/poppler/Function.cc:98 #5 0x7fe1fa849e3c in Function::parse(Object*) /home/tsdgeos/devel/poppler/poppler/Function.cc:63 #6 0x7fe1fa8c1d8c in GfxDeviceNColorSpace::parse(Array*, OutputDev*, GfxState*, int) /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2978 #7 0x7fe1fa8a6fb7 in GfxColorSpace::parse(Object*, OutputDev*, GfxState*, int) /home/tsdgeos/devel/poppler/poppler/GfxState.cc:328 #8 0x7fe1fa88440f in Gfx::doImage(Object*, Stream*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4403 #9 0x7fe1fa882d6c in Gfx::opXObject(Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179 #10 0x7fe1fa85d2c6 in Gfx::execOp(Object*, Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903 #11 0x7fe1fa85c49b in Gfx::go(bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762 #12 0x7fe1fa85c0ef in Gfx::display(Object*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728 #13 0x7fe1fa93ed81 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/Page.cc:585 #14 0x7fe1fa9462ad in PDFDoc::displayPageSlice(OutputDev*, int, double, double, int, bool, bool, bool, int, int, int, int, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503 #15 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*, int, int, int, int, int, double, double, char*) /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222 #16 0x404416 in main /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521 #17 0x7fe1f9f66ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #18 0x401d58 in _start (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
2014-03-26Fix ASAN in 750.asan.0.9621.pdfAlbert Astals Cid1-3/+4
==25876== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60040002a10f at pc 0x7fc396c3c23e bp 0x7ffff1123d20 sp 0x7ffff1123d18 READ of size 1 at 0x60040002a10f thread T0 #0 0x7fc396c3c23d in JBIG2Stream::readGenericBitmap(bool, int, int, int, bool, bool, JBIG2Bitmap*, int*, int*, int) /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:3504 #1 0x7fc396c30073 in JBIG2Stream::readSymbolDictSeg(unsigned int, unsigned int, unsigned int*, unsigned int) /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1867 #2 0x7fc396c2d88a in JBIG2Stream::readSegments() /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1408 #3 0x7fc396c2c6ba in JBIG2Stream::reset() /home/tsdgeos/devel/poppler/poppler/JBIG2Stream.cc:1248 #4 0x7fc396c783f7 in ImageStream::reset() /home/tsdgeos/devel/poppler/poppler/Stream.cc:484 #5 0x7fc396d484e4 in SplashOutputDev::drawImage(GfxState*, Object*, Stream*, int, int, GfxImageColorMap*, bool, int*, bool) /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:3158 #6 0x7fc396ba3cf0 in Gfx::doImage(Object*, Stream*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4653 #7 0x7fc396ba0d6c in Gfx::opXObject(Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:4179 #8 0x7fc396b7b2c6 in Gfx::execOp(Object*, Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903 #9 0x7fc396b7a49b in Gfx::go(bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762 #10 0x7fc396b7a0ef in Gfx::display(Object*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728 #11 0x7fc396c5cd93 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/Page.cc:585 #12 0x7fc396c642bf in PDFDoc::displayPageSlice(OutputDev*, int, double, double, int, bool, bool, bool, int, int, int, int, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503 #13 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*, int, int, int, int, int, double, double, char*) /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222 #14 0x404416 in main /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521 #15 0x7fc396284ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #16 0x401d58 in _start (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58)
2014-03-26Fix ASAN in 784.asan.0.9671.pdfAlbert Astals Cid1-2/+2
================================================================= ==24856== ERROR: AddressSanitizer: SEGV on unknown address 0x603bfffe5804 (pc 0x7f7aa3310c6b sp 0x7fff0e656bd0 bp 0x7fff0e656e90 T0) AddressSanitizer can not provide additional info. #0 0x7f7aa3310c6a in GfxIndexedColorSpace::mapColorToBase(GfxColor*, GfxColor*) /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2509 #1 0x7f7aa33110d2 in GfxIndexedColorSpace::getRGB(GfxColor*, GfxRGB*) /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2529 #2 0x7f7aa3466712 in convertGfxColor(unsigned char*, SplashColorMode, GfxColorSpace*, GfxColor*) /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:117 #3 0x7f7aa34675a9 in SplashUnivariatePattern::getColor(int, int, unsigned char*) /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:215 #4 0x7f7aa348d2a2 in Splash::pipeRun(SplashPipe*) /home/tsdgeos/devel/poppler/splash/Splash.cc:363 #5 0x7f7aa34c9c29 in Splash::drawAALine(SplashPipe*, int, int, int, bool, unsigned char) /home/tsdgeos/devel/poppler/splash/Splash.cc:1537 #6 0x7f7aa34c4787 in Splash::shadedFill(SplashPath*, bool, SplashPattern*) /home/tsdgeos/devel/poppler/splash/Splash.cc:6388 #7 0x7f7aa348b65c in SplashOutputDev::univariateShadedFill(GfxState*, SplashUnivariatePattern*, double, double) /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:4408 #8 0x7f7aa348b93d in SplashOutputDev::radialShadedFill(GfxState*, GfxRadialShading*, double, double) /home/tsdgeos/devel/poppler/poppler/SplashOutputDev.cc:4427 #9 0x7f7aa32c7574 in Gfx::doRadialShFill(GfxRadialShading*) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:3058 #10 0x7f7aa32c188f in Gfx::opShFill(Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:2476 #11 0x7f7aa32b12c6 in Gfx::execOp(Object*, Object*, int) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:903 #12 0x7f7aa32b049b in Gfx::go(bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:762 #13 0x7f7aa32b00ef in Gfx::display(Object*, bool) /home/tsdgeos/devel/poppler/poppler/Gfx.cc:728 #14 0x7f7aa3392dc9 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/Page.cc:585 #15 0x7f7aa339a2f5 in PDFDoc::displayPageSlice(OutputDev*, int, double, double, int, bool, bool, bool, int, int, int, int, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) /home/tsdgeos/devel/poppler/poppler/PDFDoc.cc:503 #16 0x40311e in savePageSlice(PDFDoc*, SplashOutputDev*, int, int, int, int, int, double, double, char*) /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:222 #17 0x404416 in main /home/tsdgeos/devel/poppler/utils/pdftoppm.cc:521 #18 0x7f7aa29baec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #19 0x401d58 in _start (/home/tsdgeos/devel/poppler/build-debug/utils/pdftoppm+0x401d58) SUMMARY: AddressSanitizer: SEGV /home/tsdgeos/devel/poppler/poppler/GfxState.cc:2509 GfxIndexedColorSpace::mapColorToBase(GfxColor*, GfxColor*)
2014-03-26Forgot my (C) in the last commitAlbert Astals Cid1-1/+1
2014-03-25Fix Heap-buffer-overflow in TextPage::updateFontAlbert Astals Cid1-2/+4
Bug #76442
2014-03-22Reorder the if check conditionAlbert Astals Cid1-2/+2
I think the previous condition was correct anyway because of the extra -1 in the i check but it really makes more sense to have the i check first Bug #76478
2014-03-22Make the test rect go to xMax, yMax not xMax-1,yMax-1Albert Astals Cid1-2/+2
I don't understand why the -1 is there and removing it actually fixes bug #76387
2014-03-15Fix regression when creating level1 PSWilliam Bader2-3/+16
Bug #75241
2014-03-12Limit numeric parsing of character namesJason Crain2-41/+102
Bug #38456
2014-03-11Fix TIFF writting in WindowsSteven Lee1-0/+11
Bug #75969
2014-03-10glib: Use flags argument in poppler_structure_element_get_text()Adrian Perez de Castro3-6/+23
Instead of accepting a boolean argument to enable recursive text extraction, use a flags value. Text extraction may add features in the future (for example, allowing using alternate text as replacement for inline figures), and this will allow to extend the method without introducing ABI or API breakage. https://bugs.freedesktop.org/show_bug.cgi?id=75796
2014-03-06glib: Add missing underscore in method nameAdrian Perez de Castro1-1/+1
The correct name is poppler_structure_element_get_form_state(). https://bugs.freedesktop.org/show_bug.cgi?id=75827
2014-03-05Rename getNumElements, getElement and appendElement as getNumChildren, ↵Carlos Garcia Campos5-21/+21
getChild and appendChild It's more consistent with other internal API and less confusing.
2014-03-05glib: Update the documentation symbols after the PopplerStructureScope renameCarlos Garcia Campos1-2/+2
2014-03-05glib: Rename PopplerStructureScope as PopplerStructureTableScopeCarlos Garcia Campos2-13/+13
It's a table specific attribute
2014-03-05glib: Implement accessors for element attributesAdrian Perez de Castro3-18/+1597
Implement inspecting the standard attributes of PopplerStructureElement objects. https://bugs.freedesktop.org/show_bug.cgi?id=64821
2014-03-04Qt: Expose document-supplied text directionAdam Reichold4-2/+52
2014-03-02glib: Fixes in the API reference documentationAdrian Perez de Castro3-4/+4
- Remove the references to non-existent methods for PopplerStructureElement, and point to PopplerStructureElementIter instead to point out how to obtain the structure tree. - Remove a non-existent include in poppler-docs.sgml - Add POPPLER_TYPE_TEXT_SPAN to the list of private symbols. https://bugs.freedesktop.org/show_bug.cgi?id=75615
2014-03-01glib: Remove poppler_text_span_is_link() in headerAdrian Perez de Castro1-1/+0
The method poppler_text_span_is_link() does not exist, and must be removed from the API header. https://bugs.freedesktop.org/show_bug.cgi?id=75613
2014-02-27glib: Remove unneeded POPPLER_STRUCTURE_ELEMENT_UNKNOWNAdrian Perez de Castro2-6/+7
The enum value POPPLER_STRUCTURE_ELEMENT_UNKNOWN because Poppler does not add invalid StructElements ("invalid" being nodes of type StructElement::Unknown) to the Tagged-PDF structure tree. That means that poppler-glib does not need to expose it in the API. An assertion is left to aid in finding issues when using debug builds. https://bugs.freedesktop.org/show_bug.cgi?id=75541
2014-02-26Try harder to open broken filesAlbert Astals Cid2-15/+26
Bug #75232
2014-02-23Tagged-PDF: Fix parsing of attached element attributesAdrian Perez de Castro1-1/+1
The wrong object was used as attribute dictionary, which caused a segmentation fault when parsing PDF files in which the structure elements included attributes attached to them. This patch fixes the issue. Thanks to Joanmarie Diggs <jdiggs@igalia.com> for helping in debugging the problem. https://bugs.freedesktop.org/show_bug.cgi?id=74805
2014-02-22glib: Add poppler_structure_element_is_grouping()Adrian Perez de Castro3-0/+22
Implement a method to check whether a structure element is a grouping element, wrapping the StructElement::isGrouping() method. https://bugs.freedesktop.org/show_bug.cgi?id=74753
2014-02-22glib: Handle missing structure element typesAdrian Perez de Castro2-8/+26
Element Art (article); RB, RP, RB (Ruby text inner elements); and WT, WP (Warichu inner elements) were not being handled. This adds the corresponding handling in poppler-glib. Also, the "default" case in the switch in poppler_structure_element_get_type() is removed, so the compiler can emit warnings when enum values are not handled. https://bugs.freedesktop.org/show_bug.cgi?id=75323
2014-02-18Some error() usage fixesFabio D'Urso8-18/+22
2014-02-17Clang++ plugin that checks for usage errors in GooString::format-style callsFabio D'Urso4-4/+397
2014-02-12blend usage in PDF with spot colors casue random outputThomas Freitag1-1/+8
The reason for the random colors is the uninitialized local variable cBlend. The blend functions only fills offset 0 to 3, so offset 4 up to 4 + SPOT_NCOMPS are left uninitialized, but all offsets are stored in the bitmap. So we need to initialize these offsets with 0! Bug #74883
2014-02-10increase gtk3 dependencyAlbert Astals Cid2-3/+3
gtk_tree_view_set_activate_on_single_click was introduced in 3.8
2014-02-10Make sure number of least objects in hints table is validAlbert Astals Cid1-0/+5
Bug #74741
2014-02-09Fix cmake buildAlbert Astals Cid2-0/+3
2014-02-09glib-demo: Pane showing the document structureAdrian Perez de Castro4-0/+267
Adds a new pane in poppler-glib-demo showing the structure for Tagged-PDF documents. It also serves as an example on how to to use the API for PopplerStructure and PopplerStructureElement.
2014-02-09glib: Expose inline attributes of structure elementsAdrian Perez de Castro4-1/+297
Allows obtaining inline text attributes from structure elements. The text is divived into "spans", which are groups of consecutive glyphs that share their attributes. Each one of those is represented by a PopplerTextSpan, which gives information about the text font and color, and the link target for links. The list of PopplerTextSpans is created lazily when first used. https://bugs.freedesktop.org/show_bug.cgi?id=64821
2014-02-09glib: Expose the document structure treeAdrian Perez de Castro8-0/+831
Implements a new PopplerStructureElement classe, which builds upon StructTreeRoot and StructElement to expose the document structure of tagged PDFs in the GLib binding. Navigation of the structure tree is done by an iterator-based interface, using PopplerStructureElementIter. https://bugs.freedesktop.org/show_bug.cgi?id=64821
2014-02-09glib-demo: Fix performance in text markup annotationsGermán Poo-Caamaño1-6/+13
Fix https://bugs.freedesktop.org/show_bug.cgi?id=51487#c45
2014-02-08glib: Fix gobject-introspection warningsCarlos Garcia Campos1-2/+2
2014-02-08Allow properly identifying grouping elementsAdrian Perez de Castro2-12/+20
Grouping elements in the Tagged-PDF structure should be identifiable as such (see section 14.8.4.2 "Grouping Elements" of the PDF standard). Those were previously reported as inline elements, which is quite not correct. This patch introduces a new StructElement::isGrouping() method which correctly reports grouping elements as such. https://bugs.freedesktop.org/show_bug.cgi?id=74520
2014-02-08Report LBody elements in Tagged-PDF structure as block elementsAdrian Perez de Castro1-1/+1
According to section 14.8.4.3 "Block-Level Structure Elements" (in particular subsection 14.8.4.3.3 "List Elements"), structure elements of type LBody must be reported as block elements. This patch changes the reported type from elementTypeUndefined to elementTypeBlock accordingly. https://bugs.freedesktop.org/show_bug.cgi?id=74522
2014-02-05pdftops: ensure there is always a page size in the outputAdrian Johnson1-0/+7
even if the PDF file as badly broken.
2014-02-05cairo: clip to crop boxAdrian Johnson1-0/+4
when printing the cairo surface may larger than the crop box fixes https://bugzilla.gnome.org/show_bug.cgi?id=649886
2014-02-05pdftocairo: ensure page size and crop box works the same as pdftopsAdrian Johnson2-22/+24
Bug 72312
2014-02-05pdftops: Only change paper size when different to previous sizeAdrian Johnson1-5/+25
Previously this check was done in the code (removed in previous commit). Moving this check into the pdfSetupPaper macro preserves page independence. Bug 72312
2014-02-05pdftops: Remove origpagesizes mode and make -origpagesizes an alias for ↵Adrian Johnson4-38/+28
-paper match Bug 72312
2014-02-05pdftops: Use crop box as page sizeAdrian Johnson1-21/+7
unless -nocrop is used. The fontends use the crop box as the page size and acroread uses the cropbox as the page size for display and printing. Bug 72312
2014-02-05pdftps: fix DocumentMedia/Page/Media/PageBBox DSC commentsAdrian Johnson5-57/+119
Bug 72312
2014-02-05pdftops: ensure paper size takes into account rotationTill Kamppeter1-28/+20
Bug 72312
2014-01-27[qt] Improve compilation under Win 8 with Visual Studio 2012Bogdan Cristea11-11/+55
Bug #73111
2014-01-26Use c99 for the c compilerAlbert Astals Cid1-0/+1