{"push_id":731506373,"size":16,"distinct_size":16,"ref":"refs/heads/upstream","head":"48cbb0fe106cdee008b41883dff830c7530c663e","before":"49b5135d1a7df9a9f05fd2fd5d15462424f7e4b9","commits":[{"sha":"2a3df1de7b2a97519b8605a98a3d2c21d3d57859","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Add some more comments to the fz_separations class.\n\nHopefully this clarifies the intent.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/2a3df1de7b2a97519b8605a98a3d2c21d3d57859"},{"sha":"8bece7529ad8752f58d22e7cc3d5aaf7e4741595","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Fix leak in separations code.\n\nInclude code to free the list of separation names.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/8bece7529ad8752f58d22e7cc3d5aaf7e4741595"},{"sha":"ee26ab550a27bd8764084f391f16fb5dbda3d325","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Enable fz_images to have NULL buffers, and still be decoded.\n\nImportant for gproof files.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/ee26ab550a27bd8764084f391f16fb5dbda3d325"},{"sha":"221915518d71c1ba3585addbe7cff49bba96f175","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Bug 696061: Fix leak of xml block.\n\nBug 696061 showed GhostXPS crashing with a SEGV. Checking MuPDF\nshowed that a fix had already been applied here, but Memento\nshows that the fix was causing a leak.\n\nWe therefore patch the leak here.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/221915518d71c1ba3585addbe7cff49bba96f175"},{"sha":"6d006a43d50bcbfc20cbb574c6953cfcfe906208","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Fix leak during text extraction.\n\nMuPDF (the win32/linux viewer) leaks a span_soup each time it\nis run, even if (seemingly to the user) no text extraction\noperations are done.\n\nThis is because the view does a text extraction pass silently,\nduring which 'begin_page' is called for both page contents and\nannotation contents. This causes a leak of a span_soup.\n\nChange the implementation to allocate the span_soup just in time\ninstead.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/6d006a43d50bcbfc20cbb574c6953cfcfe906208"},{"sha":"08cf4d8a9353b6bb938492cb9e7c3d1ba4aabf08","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Tweak fz_tempfile to include directory hint.\n\nIn android, we can't write to '.', and we don't have\nTMP defined. Therefore use the path of the supplied file as\na hint.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/08cf4d8a9353b6bb938492cb9e7c3d1ba4aabf08"},{"sha":"3b5e21be58ae1fda85c3573adf5b7d25c71dfe0d","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"First cut at gprf document handler.\n\nDoesn't actually trigger generation from ghostscript, or load\nimages from files generated by ghostscript yet.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/3b5e21be58ae1fda85c3573adf5b7d25c71dfe0d"},{"sha":"991a701b73b92c3954d75f186e44c8cbbabd9274","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Code to generate a GProof file from a currently opened document.\n\nGiven a document, generate a gproof file from it. This encapsulates\nthe name of the file, the desired resolution for proofing, and the\npage dimensions of all the pages in the file.\n\nThe idea is that an app will call this when it is asked to go into\n'proofing' mode, and will reinvoke itself on this file. This gives\nthe gprf document handler just enough information to fake up a\ndocument of n pages of the required sizes. Each page will then be\nautogenerated on demand.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/991a701b73b92c3954d75f186e44c8cbbabd9274"},{"sha":"d8353609755104010afaf3e1967a36959f28c5dc","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Add .gproof output mode to mudraw.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/d8353609755104010afaf3e1967a36959f28c5dc"},{"sha":"269fdfce2527cbba02e68d658af3f4b92ef40be0","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Improve Grid fitting of images for .gproof files.\n\nBy default in MuPDF, when we render an axis aligned image, we\n'gridfit' it. This is a heuristic used to improve the rendering\nof tiled images, and avoid the background showing through on the\nantialiased edges.\n\nThe general algorithm we use is to expand any image outwards so that\nit completely covers any pixels that it touches any part of. This is\n'safe' in that we never cause any pixels to not be covered that\nshould otherwise be so, and is important when we have images that are\naligned with (say) line art rectangles.\n\nFor gproof files though, this gives nasty results - because we have\nmultiple images tiled across the page all exactly abutting, in most\ncases the edges will not be on exact integer coordinates. This means\nwe expand both images and 1 (destination) pixel is lost. This severely\nhurts the rendering (in particular on text based pages).\n\nWe therefore introduce a new type of grid fitting, where we simply\nalign the edges of images to the closest integer pixel. This is safe\nbecause we know that neighbouring images will be adjusted identically\nand edges will stay coincident.\n\nWe enable/disable this behaviour through a new device flag, and make\nthe gproof interpreter set/clear this flag when generating the page -\nthus normal rendering is unaffected.\n\nWe *could* have just poked the dev->flags fields directly, but that\nwould require magic in the display list device to check for them\nbeing set/unset and to poke the dev->flags fields on playback, so\ninstead we introduce a new fz_render_flags function (that calls a\ndevice function) to set/unset flags.\n\nThe other attraction of this is that if we ever have devices that\n'filter', we can neatly handle passing flag changes on with those.\n\nCurrently the display list implementation only copes with set/clear\nof the FZ_DEVFLAG_GRIDFIT_AS_TILED option. We only readily have 6\nbits available to us, so we'll just extend this as required if we\nadd new render flags.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/269fdfce2527cbba02e68d658af3f4b92ef40be0"},{"sha":"28432abe9a2fcdb47750c0e49cb484c615f5a883","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Add Proofing button to Android UI.\n\nHit the proofing button, and we create a new temporary .gproof file.\nWe invoke a new version of MuPDF on that. When that finishes control\nreturns to us, and we delete the .gproof file.\n\nCurrently the new version of MuPDF loads the .gproof file, but fails\nto generate any pages from it, as we have no version of ghostscript\non the system. Generating this new ghostscript is the next job.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/28432abe9a2fcdb47750c0e49cb484c615f5a883"},{"sha":"bf460079428bf678a73cdcbcd13b58f88e29f3a8","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Gproof doc handler; add ability to call gs via gsapi rather than exe.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/bf460079428bf678a73cdcbcd13b58f88e29f3a8"},{"sha":"e5642ac4d5692448c9b13eb6cecb2208f72ff525","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Only include gproof document handler if SUPPORT_GPROOF is defined.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/e5642ac4d5692448c9b13eb6cecb2208f72ff525"},{"sha":"6e6250f0cfda83f8456203a7fd554977259646dd","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Tweak Android MuPDF build to respect SUPPORT_GPROOF.\n\nMuPDFCore now supports a gprfSupported method that returns\ntrue iff we compiled the core with SUPPORT_GPROOF and a\nlibgs.so is available.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/6e6250f0cfda83f8456203a7fd554977259646dd"},{"sha":"47855bdda808c98f7be9ac9eb62ecd296e118116","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Improved Android debugging support.\n\nIf we build with DEBUG set, the native section will be built\nwith debugging enabled.\n\nThe debuggable flag in AndroidManifest still needs to be edited\nmanually, but it's set explicitly false here so we can grep for\nit.\n\nAlso, send stdout/stderr to text files in DEBUG builds. The path\nfor this may not work on all phones (it certainly works on the\nLG G3, running Lollipop), but it won't hurt on anything.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/47855bdda808c98f7be9ac9eb62ecd296e118116"},{"sha":"48cbb0fe106cdee008b41883dff830c7530c663e","author":{"email":"c8e855d7acae1cdf3b98715f2573f9ecca073321@artifex.com","name":"Robin Watts"},"message":"Bug 696100: Fix NULL deref.\n\nCheck flow is not NULL before dereferencing it. Everything else\nin this area of the code copes with it being NULL.","distinct":true,"url":"https://api.github.com/repos/TamirEvan/mupdf/commits/48cbb0fe106cdee008b41883dff830c7530c663e"}]}