summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-12Fix bug in murun when creating buffers from strings.Tor Andersson
The code only worked for string literals, not garbage collected or short strings.
2017-10-12Some more consts.Tor Andersson
2017-10-12Make fz_open_memory take a const buffer.Tor Andersson
2017-10-12Make image loading use const data pointers.Tor Andersson
2017-10-05Fix out of bounds check in pnm parser.Sebastian Rasmussen
2017-10-05Remove unused code.Sebastian Rasmussen
2017-10-05Remove shadowed variables.Sebastian Rasmussen
2017-10-05Avoid double literals and double math functions.Sebastian Rasmussen
2017-10-04Mark another variable fz_var(), avoiding optimization.Sebastian Rasmussen
This really should have been part of commit 0ef7cb983c4325156e08525381542ae3ada04720.
2017-10-02Drop stream upon error in inline stream.Sebastian Rasmussen
2017-10-02Make sure to drop chain upon error in raw and crypto filters.Sebastian Rasmussen
2017-09-27Bug 698593: Fix assert in image painting.Robin Watts
2017-09-27Bug 698588: Short circuit plotting of images if alpha == 0.Robin Watts
2017-09-25Bug 698592: Mark variable fz_var(), avoiding optimization.Sebastian Rasmussen
The change in 2707fa9e8e6d17d794330e719dec1b08161fb045 in build_filter_chain() allows for the variable chain to reside in a register, which means that the bug is likely to only be visible if built under optimization. First the chain variable is transferred to chain2, then set to NULL, then when an exception occurs in build_filter() the filter chain will be freed by build_filter(). Next the expectation is that execution proceeds to fz_catch() where fz_drop_stream() would be called with chain == NULL. However due to the chain variable residing in a register, its value is not NULL as expected, but was reset to its original value upon the exception (since they use setjmp()), hence fz_drop_stream() is called with a non-NULL value. Marking the chain variable with fz_var() prevents the compiler from allowing the chain variable to reside in a register and hence its value will remain NULL and never be reset.
2017-09-25Introduce sanitize-relase build target.Sebastian Rasmussen
Sometimes ASAN issues only occur if optimization is enabled. This build target allows for testing under these conditions.
2017-09-22Skip to next whitespace character instead of aborting when repairing PDF.Tor Andersson
2017-09-22Fix typo in default output format for pixmap output in muconvert.Tor Andersson
2017-09-22Fix places where we assign state without using it.Robin Watts
Sebastian points out that at various points we assign state only to overwrite it without using it later on. Harmless, but fixed here for neatness. Thanks.
2017-09-22Update LCMS2.art with EXTRA channels and warnings fixes.Robin Watts
2017-09-22Minor comment tweaks.Robin Watts
2017-09-22Ensure PNG output is not premultiplied output.Robin Watts
2017-09-20tiff: Support images with 24/32 bits per component.Sebastian Rasmussen
2017-09-20Initialize libjpeg state to avoid crashes upon error.Sebastian Rasmussen
Previously, in case of error in fz_jpg_mem_init(), jpeg_finish_decompress()/jpeg_destroy_decompress() would be called before jpeg_create_decompress() had initlized all state. This sometimes led to segfaults or accessing uninitialized data.
2017-09-20Remove comment markers about interfaces not throwing exceptions.Sebastian Rasmussen
2017-09-20Disable further device calls upon error while closing device.Sebastian Rasmussen
2017-09-20Drop rasterizer upon error while bounding path.Sebastian Rasmussen
2017-09-20gl: Remember scroll position in history and bookmarks.Tor Andersson
2017-09-20gl: Scroll to link coordinates when following links.Tor Andersson
Also save link coordinates in outline nodes.
2017-09-20gl: Add 'I' invert colors command.Tor Andersson
Also apply an inverse gamma correction curve.
2017-09-20Fix optional alpha pixmap support in gamma correction function.Tor Andersson
2017-09-19Fix 698558: Handle non-tags in tag name comparisons.Tor Andersson
Use fz_xml_is_tag instead of fz_xml_tag && !strcmp idiom.
2017-09-19Fix 698540: Check name, comment and meta size field signs.Tor Andersson
2017-09-19Fix 698539: Don't use xps font if it could not be loaded.Tor Andersson
xps_load_links_in_glyphs did not cope with font loading failures.
2017-09-13Consistently drop filter chain upon error.Sebastian Rasmussen
2017-09-13Remove old workaround.Sebastian Rasmussen
2017-09-13Do not lie.Sebastian Rasmussen
2017-09-12Update draw-blend.c to support spot blending.Michael Vrhel
Proper blending of spots is dependent upon the blending color space as well as the blend mode. In particular when the blend mode is non-separable or non-white preserving normal blending should be used for the spot colorants. Incorporates various fixes and optimisations squashed back to this one commit for clarity. Some of these fixes/optimisations are due to Michael Vrhel. In particular we move to handling non-isolated groups in the same way as gs.
2017-09-12Fix whitespace in draw-blend.cRobin Watts
2017-09-12Fix Gradients in the presence of spots.Robin Watts
Incorporates fixes from Michael: When dealing with spot colors, if the destination space is pure CMYK and we have unsupported spots we can do a weighted addition of the spot CMYK colorant like Adobe does in the PSD image format. If the destination space is RGB we need to do a traditional color mapping of each pixel.
2017-09-12Add -O flag to mudraw to control spots.Robin Watts
2017-09-12Fix separation pixmap conversion functions for DeviceN.Robin Watts
2017-09-12Remove redundant #define that is only used at the same place it's set.Tor Andersson
2017-09-12Move fz_strcasecmp to the header it belongs to.Tor Andersson
2017-09-12Fix merge error in murun.cTor Andersson
2017-09-12Update CMap location URLs.Tor Andersson
2017-09-12Add 'make watch' target.Tor Andersson
Linux specific and depends on the inotify-tools package. Will watch source and header files and rebuild mupdf when they are modified.
2017-09-12Clean up cached color converters in case of error.Sebastian Rasmussen
2017-09-12Fix leaks upon error while copying array/dict.Sebastian Rasmussen
2017-09-08Ensure colorspace colorants are named for ICC spaces too.Robin Watts
2017-09-08Start to rework plotters.Robin Watts