Bug 70085 - Images not shown inside PDF.
Summary: Images not shown inside PDF.
Alias: None
Product: poppler
Classification: Unclassified
Component: cairo backend (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: poppler-bugs
QA Contact:
Depends on:
Reported: 2013-10-03 16:04 UTC by Federico
Modified: 2013-10-05 14:57 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

PDF with images not shown. (45.99 KB, text/plain)
2013-10-03 16:04 UTC, Federico
Incorrect and correct rendering side by side. (137.14 KB, image/png)
2013-10-03 16:06 UTC, Federico
Patch (881 bytes, patch)
2013-10-05 09:26 UTC, Carlos Garcia Campos
Details | Splinter Review

Description Federico 2013-10-03 16:04:54 UTC
Created attachment 87047 [details]
PDF with images not shown.

This mapfish print has images but they don't appear in evince using poppler/cairo (0.20.5) backend.
Comment 1 Federico 2013-10-03 16:06:50 UTC
Created attachment 87048 [details]
Incorrect and correct rendering side by side.

MuPDF shows the iages that Evince does not.
Comment 2 Albert Astals Cid 2013-10-03 16:31:20 UTC
Splash (i.e. okular, pdftoppm) work too.
Comment 3 Carlos Garcia Campos 2013-10-05 09:24:33 UTC
The problem was introduced in aaae8996766f259dcc329755c7cccde7c916c1fb to fix bug #40828. In this particular PDF there's no mask, so the matrix we are setting in drawImage() is uninitialized.

Internal Error: cairo context error: invalid matrix (not invertible)<0a>

We should probably check that there's actually a mask before setting the mask_matrix.
Comment 4 Carlos Garcia Campos 2013-10-05 09:26:19 UTC
Created attachment 87150 [details] [review]

Adrian, does this patch make sense to you?
Comment 5 Adrian Johnson 2013-10-05 09:51:22 UTC
Yes it looks correct.
Comment 6 Carlos Garcia Campos 2013-10-05 14:57:09 UTC
Thanks, pushed to git master and 0.24 branch

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.