summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* png: Clean up PNG savingstatic-analysisEmmanuele Bassi2020-11-101-271/+263
| | | | | Iterate over the key/value arrays once, using GArray to store the text chunks after validating the keys.
* Merge branch 'ci-analysis' into 'master'Emmanuele Bassi2020-11-091-0/+32
|\ | | | | | | | | ci: Add analysis stage to the pipeline See merge request GNOME/gdk-pixbuf!88
| * ci: Add analysis stage to the pipelineEmmanuele Bassi2020-11-091-0/+32
|/ | | | Run a static analysis and an ASan jobs on the gdk-pixbuf code base.
* Merge branch 'ci-update' into 'master'Emmanuele Bassi2020-11-099-26/+531
|\ | | | | | | | | Ci update See merge request GNOME/gdk-pixbuf!87
| * ci: Add release-dist jobEmmanuele Bassi2020-11-091-1/+21
| | | | | | | | Use it to generate the release artefacts.
| * ci: Use DAG to cut down on CI pipeline timesEmmanuele Bassi2020-11-091-0/+5
| |
| * ci: Add style check jobEmmanuele Bassi2020-11-094-0/+201
| | | | | | | | Make at least an attempt at a consistent coding style.
| * ci: Add JUnit report for the test suiteEmmanuele Bassi2020-11-093-8/+147
| |
| * ci: Clean up the pipelineEmmanuele Bassi2020-11-091-9/+16
| | | | | | | | Use common environment variables for the various jobs.
| * ci: Rename the Docker file to suite run-docker.shEmmanuele Bassi2020-11-091-0/+0
| |
| * ci: Update the Docker build scriptEmmanuele Bassi2020-11-091-6/+130
| | | | | | | | Use the version from GTK, which is much more ergonomic.
| * Use an SPDX identifier for the license fieldEmmanuele Bassi2020-11-091-1/+1
| | | | | | | | | | It's still a free-form field, but we should at least adhere to a machine parseable standard.
| * Require Meson 0.55.3Emmanuele Bassi2020-11-091-1/+1
| | | | | | | | The 0.48.1 base version is positively *ancient*.
| * ci: Update the installed version of MesonEmmanuele Bassi2020-11-091-1/+1
| |
| * ci: Update the Docker imageEmmanuele Bassi2020-11-091-2/+11
|/ | | | | Rebase on Fedora 33 (current stable) and add a bunch of components for future CI jobs.
* Post-release version bump to 2.42.1Emmanuele Bassi2020-11-091-1/+1
|
* Release GdkPixbuf 2.42.0 (stable)2.42.0Emmanuele Bassi2020-11-092-2/+6
|
* docs: Add missing index for 2.40 symbolsEmmanuele Bassi2020-11-091-0/+4
|
* gif: Replace old buffer management code with GByteArrayRobert Ancell2020-11-091-108/+13
|
* Merge branch 'gif-colormap-bug' into 'master'Emmanuele Bassi2020-11-091-3/+1
|\ | | | | | | | | | | | | gif: Fix bug where the local colormap is not dropped. Closes #156 See merge request GNOME/gdk-pixbuf!79
| * gif: Fix bug where the local colormap is not dropped.Robert Ancell2020-11-091-3/+1
| | | | | | | | | | | | | | | | | | | | This was seen in a GIF file that had a local colormap set on frame 6, but not on frame 7. Instead of reverting to the global colormap we continued to render with the last local colormap. This was a regression introduced in 4e7b5345d2fc8f0d1dee93d8ba9ab805bc95d42f. Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/156
* | gif: Remove unnecessary structureRobert Ancell2020-11-091-23/+16
| |
* | gif: Remove unused variablesRobert Ancell2020-11-091-11/+2
|/
* PNM: Generate an error if no pixbuf could be producedFelix Riemann2020-11-091-0/+6
| | | | | | | | This is expected by the loader API which trips over an assertion otherwise. Partially loaded images still work while images that are too truncated fail gracefully. Fixes #111.
* meson: Change introspection option to feature typeXavier Claessens2020-10-163-5/+8
| | | | This is more consistent with other modules like GTK.
* Update Friulian translationFabio Tomat2020-09-221-205/+192
|
* Update Portuguese translationJuliano Camargo2020-09-121-328/+403
|
* Update the NEWS file for 2.41Emmanuele Bassi2020-06-261-0/+20
|
* Remove the libjasper-based JPEG2000 loaderEmmanuele Bassi2020-06-2611-395/+1
| | | | | | | | | | | | | | | | | Libjasper is not really maintained any more, and has been dropped by various Linux distributions over the years. GdkPixbuf has not enabled the JPEG2000 loader by default in many years, relying on downstream distributors to do so if they also shipped libjasper. This means that it's unlikely anybody has relied on GdkPixbuf to load a JPEG2000 image for the past 3 to 5 years, if at all. The only other option for loading JPEG2000 images is to use OpenJPEG, and for that there is an out of tree GdkPixbuf module available: https://notabug.org/necklace/jp2-pixbuf-loader Fixes: #152, #137
* docs: Update the option used to generate the API referenceEmmanuele Bassi2020-06-261-1/+1
| | | | We use `gtk_doc`, now.
* pixops: Avoid division during alpha scalingJan Ziak2020-06-261-9/+28
| | | | | | | | | | | This patch significantly improves performance of gtksourceview-2.10.5 full-screen redraw on a 4K display with an alpha channel. Divisions by the common value 0xff0000 are converted into multiplications by an optimizing C compiler. For other values, 3 divisions are reduced to 1 division, 3 multiplications and some float-to-int conversions.
* ci: Build and deploy the API referenceEmmanuele Bassi2020-06-261-8/+48
|
* Add `gtk_doc` build optionEmmanuele Bassi2020-06-263-2/+11
| | | | | | | And deprecate the `docs` one. The `gtk_doc` option is shared across GNOME modules, so we should conform to the established practice.
* docs: Move the core data section to the source fileEmmanuele Bassi2020-06-262-69/+68
| | | | | | | The relative links in the functions documentation stanza refer to the current section; this means that, in order to refer to an anchor specified in a section the symbols must be in the same section within the same file.
* XPM: Fix undefined behaviourTobias Stoeckmann2020-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Pixel data in XPM files consists of color characters. XPM allows up to 31 characters per pixel (cpp). If the file defines a width larger than G_MAXINT / cpp, the calculated memory required to parse a single line (wbytes) leads to a signed integer overflow. On common systems, a signed integer overflow works as expected on a bit level. Properly crafted files can overflow the variable wbytes in a way that it is positive again, which leads to a "successful" parsing of the XPM file. The pixel values itself are not assigned by gdk-pixbuf code, therefore leaking raw memory returned by malloc. This might leak sensitive information through pixel values, depending on the actual application. Proof of Concept: /* XPM */ static char * poc_xpm[] = { "138547333 1 1 31", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c None", "---------------------------"};
* XBM: Fix signed integer overflow.Tobias Stoeckmann2020-06-261-2/+2
| | | | | | | | | | | | | | | | Parsing an XBM file with pixel bits larger than int leads to undefined behavior (signed integer overflow). Since only the lowest 8 bits are used, this patched code produces the same images as before. Also do not increment gotone but set it to a value. If more than INT_MAX values are parsed, this int would overflow as well. Proof of Concept (compile with -fsanitize=undefined or -ftrapv): static unsigned char poc_bits[] = { 0xFFFFFFFF };
* io-bmp.c: Fix building on older compilersChun-wei Fan2020-06-241-1/+3
| | | | | Avoid declaring variables in a for loop initialization so that the code continues to build on older compilers.
* tests: check for mmap failureTobias Mueller2020-06-101-1/+6
| | | | | | mmap does not return NULL on failure, but rather MAP_FAILED. https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/158
* CI: Switch to the new win32 runnersChristoph Reiter2020-05-031-2/+2
| | | | powershell instead of cmd, win2016 instead of 2012r2
* build: Bump _XOPEN_SOURCE to 700Ting-Wei Lan2020-05-031-1/+1
| | | | | | | | | | | | | | On FreeBSD, macros such as _POSIX_C_SOURCE and _XOPEN_SOURCE are used as a means to disable features instead of enabling features. Therefore, setting a macro to a value which is too small can make required features become unavailable. Commit f57bec3322921631c322b7d151fb129125b9d80d sets _XOPEN_SOURCE to 500 and causes compilation errors on FreeBSD because of missing C99 support. FreeBSD libc automatically sets _POSIX_C_SOURCE to 199506 when _XOPEN_SOURCE is set to 500. Since 1995 < 1999, this also means all C99 functions are disabled. To fix it, use a value matching the current definition of _POSIX_C_SOURCE=200809, which is _XOPEN_SOURCE=700.
* GIF: Plug animation data and iterator leakSebastian Keller2020-04-021-1/+5
| | | | | | The get_static_image() method for gifs is leaking an iterator and since the iterator has a reference to the animation, this results in all animation frames being leaked.
* Check the memset length argumentEmmanuele Bassi2020-04-021-1/+5
| | | | | | Avoid overflows by using the checked multiplication macro for gsize. Fixes: #132
* pixdata: Bail out if the error is setEmmanuele Bassi2020-04-021-1/+6
| | | | | We might still get a GdkPixbuf even if the GError is set, which leads to us reusing the GError instance later on.
* tests: Add test for issue 70Bastien Nocera2020-04-021-0/+34
| | | | | Add test for the issue fixed by commit 35dcd72bbe7a9349861ff14389a38525fe9c949f.
* tests: Add test file for issue 70Bastien Nocera2020-04-022-1/+2
| | | | From https://bugs.launchpad.net/inkscape/+bug/1746054/comments/5
* Define _XOPEN_SOURCE properly on SunOSEmmanuele Bassi2020-04-021-1/+1
| | | | Fixes: #128
* tests: Conditionally build and run testsEmmanuele Bassi2020-04-021-95/+147
| | | | | | | | Some tests depend on build options—like the ability to load certain images. There's no point in compiling things that we know will fail, so might as well skip them. Fixes: #123
* tests: Skip composite test when PNG is unsupportedEmmanuele Bassi2020-04-021-0/+7
|
* tests: Skip tests when the ref format is unsupportedEmmanuele Bassi2020-04-021-1/+9
| | | | | We must skip the reference test when both the source and reference files are unsupported.
* tests: Skip GIF test when the format is not supportedEmmanuele Bassi2020-04-021-0/+6
| | | | | There's no point in failing the test when we know we don't support the file format.