summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tests: Don't check whether bmp and gif loaders are enabledwip/run-gif-tests-againSimon McVittie2020-12-121-4/+1
| | | | | | | | | | | | | This is conceptually similar to commit 2fd7d21f "tests: Fix GIF tests being permanently disabled". One way or another, gdk-pixbuf always supports these two formats: on Windows with the native gdiplus loader enabled, it covers these two formats; otherwise, format-specific loaders are used. This means we will run the GIF tests, as intended. Fixes: 7f0b214a "tests: Conditionally build and run tests" Signed-off-by: Simon McVittie <smcv@debian.org>
* gif: Do all of gif_init() with a single readSimon McVittie2020-12-121-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | As documented in the introductory comment, the interface of the various functions in the GIF loader is that they read all the bytes they need, or return -1 if not enough are available. Since commit 5212d69f "gif: Replace old buffer management code with GByteArray", the incremental loader strictly depends on that assumption. Unfortunately, gif_init() didn't conform to that interface. If there were enough bytes available for the GIF signature (GIF87a or GIF89a) but not enough bytes for the screen descriptor, it would return -1 having already consumed the first 6 bytes of the stream. A subsequent retry with more data available would start from the beginning of the screen descriptor, and immediately raise an error because the screen descriptor is extremely unlikely to start with another copy of the "GIF8" magic number. The regression test tests/pixbuf-short-gif-write.c would have detected this, but was accidentally disabled by commit 7f0b214a "tests: Conditionally build and run tests". This seems most easily fixed by reading the whole of the 13-byte fixed-length header in one go. Adjust the offsets into the buffer used to parse the screen descriptor accordingly. Signed-off-by: Simon McVittie <smcv@debian.org>
* build: Do not install .test files when test is skippedwip/jtojnar/no-install-skipped-testJan Tojnar2020-12-081-22/+23
| | | | | | | | The skipping prevented the executable from being installed but not the .test file that referenced it. This caused installed tests to fail: Running test: gdk-pixbuf/pixbuf-pixdata.test Caught exception during testing: Failed to execute child process ?/nix/store/kqmj2776mw24qxyswfbqlmybpws4g4yn-gdk-pixbuf-2.42.0-installedTests/libexec/installed-tests/gdk-pixbuf/pixbuf-pixdata? (No such file or directory)
* Merge branch 'enum-thread-safe' into 'master'Emmanuele Bassi2020-12-071-4/+6
|\ | | | | | | | | Make enum GType registration thread safe See merge request GNOME/gdk-pixbuf!93
| * Make enum GType registration thread safeEmmanuele Bassi2020-12-071-4/+6
| | | | | | | | | | Use g_once_init_enter/leave to ensure that enumeration types can be registered across threads.
* | Post-release version bump to 2.42.3Emmanuele Bassi2020-12-071-1/+1
| |
* | Release GdkPixbuf 2.42.2 (stable)2.42.2Emmanuele Bassi2020-12-072-1/+10
|/
* Merge branch 'lzw-loop' into 'master'Emmanuele Bassi2020-12-072-6/+7
|\ | | | | | | | | | | | | gif: Fix LZW decoder accepting invalid LZW code. Closes #164 See merge request GNOME/gdk-pixbuf!92
| * gif: Fix LZW decoder accepting invalid LZW code.Robert Ancell2020-12-082-6/+7
|/ | | | | | | | | The code value after a reset wasn't being validated, which means we would accept invalid codes. This could cause an infinite loop in the decoder. Fixes CVE-2020-29385 Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164
* Update Norwegian Bokmål translationKjartan Maraas2020-12-031-269/+249
| | | | (cherry picked from commit 9091fb987760b01e613f6691b38aef7b4387b5de)
* Updated Spanish translationDaniel Mustieles2020-12-021-235/+237
|
* Merge branch 'gif-invalid-background' into 'master'Emmanuele Bassi2020-11-293-17/+5
|\ | | | | | | | | | | | | gif: Fix GIF images without a Graphic Control Extension rendering colour 0 as the background. Closes #162 See merge request GNOME/gdk-pixbuf!91
| * tests: Fix GIF tests being permanently disabledRobert Ancell2020-11-241-1/+0
| | | | | | | | GIF support is always built in.
| * tests: Replace g_assert with g_assert_trueRobert Ancell2020-11-241-2/+2
| | | | | | | | The former can be disabled at build time.
| * tests: Fix checking of GIF frame delaysRobert Ancell2020-11-241-13/+1
| |
| * Fix GIF tests broken due to a typo.Robert Ancell2020-11-241-1/+1
| | | | | | | | Regression introduced in e3adcf0c86dbd56b01d0d55f29a95065cbd95eb8.
| * gif: Fix GIF images without a Graphic Control Extension rendering colour 0 ↵Robert Ancell2020-11-231-0/+1
| | | | | | | | | | | | | | | | as the background. This was a regression introduced in 5212d69f2362f9b68ccf9385277e5c4a744b2187. Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/162
* | Update Swedish translationAnders Jonsson2020-11-281-229/+223
| |
* | Updated Czech translationMarek Černocký2020-11-281-228/+165
|/
* Update Ukrainian translationYuri Chornoivan2020-11-101-273/+223
|
* Update Indonesian translationAndika Triwidada2020-11-101-1016/+955
|
* Merge branch 'static-analysis' into 'master'Emmanuele Bassi2020-11-104-282/+290
|\ | | | | | | | | Rough pass at making the static analysis tool happy See merge request GNOME/gdk-pixbuf!89
| * Add more options to the Clang formatterEmmanuele Bassi2020-11-101-2/+18
| | | | | | | | We especially want the indentation width to be 8 spaces, not 2.
| * io: Initialize variable before reading into itEmmanuele Bassi2020-11-101-5/+4
| | | | | | | | We must handle the error path, where the out argument isn't set.
| * xbm: Free data in error pathEmmanuele Bassi2020-11-101-4/+5
| |
| * 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.