Commit graph

56545 commits

Author SHA1 Message Date
Jehan
d07aa8f5fa build: compress the .flatpak-builder/ folder in smaller parts and…
… delete build/ contents.

We were hitting an error on CI:

> ERROR: Uploading artifacts as "archive" to coordinator... 413 Request Entity Too Large  […]

Because the .flatpak-builder/ tarball was huge.

After further testing, it turned out that this is a per-file limit,
since simply not compressing the folder and passing it as artifacts
worked, except this time, we were hitting permission issues: artifacts
end up as root on successive jobs, whereas the CI job runs unprivileged
as a "build" user, which doesn't fly with flatpak-builder still needing
to work and touch previous files.

So I'm doing some in-between by compressing sub-folders (the real
advantage is not the compression part, but the archiving in tar, which
preserves ownership and permissions).

Note that while this kinda partly worked, .flatpak-builder/build/ was
still huge, even when compressing .flatpak-builder/build/* contents in
further individual archives. So I just simply drop this data as it's not
needed at all for flatpak-builder caching (cache/ subfolder is).

See also discussions in #2404.
2025-12-22 11:56:44 +00:00
Jehan
8e6da72132 build: no need to tar single files, just compress with xz directly. 2025-12-22 11:56:44 +00:00
programmer_ceds
06a2999711 Issue #11902: libgimpbase: Correct displayed flatpak GIMP config folder 2025-12-22 11:56:44 +00:00
Tim Sabsch
37ead49471 Update German translation 2025-12-22 11:46:39 +00:00
Jehan
2eb3f0f61f NEWS: update. 2025-12-22 09:40:35 +01:00
Aefgh Threenine
a6afbec478 Update Thai translation
(cherry picked from commit 5d59b55bf2)
2025-12-21 14:26:49 +00:00
Aefgh Threenine
86bcddeac2 Update Thai translation
(cherry picked from commit a7f170e710)
2025-12-21 14:09:19 +00:00
Aefgh Threenine
7c1c22ab94 Update Thai translation
(cherry picked from commit 8f51394495)
2025-12-21 04:36:53 +00:00
Jacob Boerema
bafb005637 plug-ins: Check for failure when reading uncompressed psp channels
When we fail to read enough bytes when reading uncompressed psp
channels, return with an error.
The error message was copied from the PSD reader so this should not
be affected by the string freeze.
2025-12-20 13:21:45 -05:00
Jacob Boerema
03575ac8cb plug-ins: fix #15284 ZDI-CAN-28232 vulnerability in file-psp
We were not checking whether channel types were valid for grayscale
images. Using a blue color channel caused an invalid computation of
the offset which could cause us to access an invalid memory location.

Now we separate RGB from non-RGB images when checking which channels
are valid, and if not return with an error.
2025-12-20 13:21:32 -05:00
Alan Mortensen
61632c6613 Update Danish translation 2025-12-20 15:28:40 +00:00
Ekaterine Papava
0ec916231c Update Georgian translation 2025-12-20 07:48:19 +00:00
Aefgh Threenine
d4624e122d Update Thai translation
(cherry picked from commit 43e41999a4)
2025-12-20 04:24:11 +00:00
Aefgh Threenine
4c7287d011 Add Thai translation 2025-12-20 04:09:52 +00:00
Kolbjørn Stuestøl
aef933cd19 Update Norwegian Nynorsk translation 2025-12-19 16:50:13 +00:00
Alan Mortensen
0d0b585224 Update Danish translation 2025-12-19 15:35:29 +00:00
Alx Sa
97e9361ed3 operations: Check if pixel is NaN in gimp:equalize
Resolves #3737
We use the CLAMPed value of a pixel component as part
of an operation to select an index. However, CLAMP () does
not behave as expected with NaN values, resulting in the
operation crashing when trying to use an out-of-bounds value
as an index.

This patch adds a check for isnan () to the value before using it.
If it's NaN, then we replace the value with 0.
2025-12-18 17:31:41 +00:00
dimspingos
6b2d7e63ad Updated Greek translation 2025-12-18 19:11:22 +02:00
Gabriele Barbero
651ec04744 display, tools: use gimp_display_shell_untransform_xy_f...
... to get limits in image coordinates instead of gimp_ruler_get_range.
Rulers return values in the active unit (e.g. mm, inches), while the
overlay logic works in pixels. This unit mismatch caused incorrect
clamping of the text overlay position, making it jump
when dragging if the unit wasn't set to pixels.
2025-12-18 14:49:11 +01:00
Athmane MOKRAOUI
8e5f04a570 Update Kabyle translation 2025-12-18 13:20:03 +00:00
Alx Sa
31e4c79933 widgets: Add conditional mask delete button
GimpLayerTreeView's delete button always deletes
the selected layer(s), even if a mask is selected.
This patch adds a new action button for deleting masks
(using the "layers-mask-delete" action) and conditionally
shows/hides it and the existing delete button based on
whether the mask or the layer is selected.

Note that after 3.2, we may replace this commit with a
single new action that conditionally deletes either the
mask or layer, depending on the selected item.
2025-12-18 12:25:28 +00:00
luming zh
dae814ab21 Update Chinese (China) translation 2025-12-18 00:11:32 +00:00
Anders Jonsson
783b3a7a9c Update Swedish translation 2025-12-17 23:04:44 +00:00
Martin
4c8e3239c8 Update Slovenian translation 2025-12-17 18:04:14 +00:00
Anders Jonsson
1b025aa8f2 dialogs: add missing space in keyboard shortcuts dialog 2025-12-17 13:37:51 +01:00
Jehan
90c604f2f4 app: no need to show -i / --no-interface in gimp-console usage.
Note that the option still exists, which allows to not error-out when
using the same set of CLI options on both the GUI and CLI binaries. We
use this ourselves in our build, which is able to use either binaries,
and if -i became forbidden, it'd make complication for our scripts.

Yet since it's basically a no-op on the CLI tool, we might as well hide
it from the usage output.
2025-12-16 17:06:46 +01:00
Jehan
d636e72530 docs: improve man page.
- Add missing options in the top usage line.
- Add a usage line for gimp-console too, since this same man is used for
  both binaries! I only removed -i / --no-interface from the
  gimp-console usage.
- Reuse the top paragraph of the AppStream description as the top
  paragraph of the man description. This is basically our current
  "project vision". I've hesitated rewriting some of the rest in the
  description, or reusing more from the AppStream file, but I'm not sure
  if package metadata's and CLI man page's descriptions should really be
  alike. Also such rewording may be better discussed with others from
  the team first.
- Add descriptions for missing options: --quit, --show-playground,
  --show-debug-menu and --g-fatal-warnings.
- Add descriptions for environment variables XDG_CONFIG_HOME,
  GIMP_DEBUG_FONTS and GIMP_BATCH_INTERPRETER. I didn't list on purpose
  a bunch of other environment variables when they are clearly meant to
  be for internal use (testing, developer use, etc.).
- Made clear that GIMP3_DIRECTORY is legacy and should not be used if
  possible, in favor of XDG_CONFIG_HOME. In particular, config file
  format migration won't work across updates with GIMP3_DIRECTORY as we
  don't control anymore the relative path format.
- Latest GTK libs are not shipped on our download server anymore.
2025-12-16 17:00:02 +01:00
Jehan
98bd0d16fe Issue #15501: g_close failed with EBADF. This is not a valid file descriptor.
I can't reproduce this issue, because when I set a fake font file as a
broken symlink, or a file without read access, it is simply not returned
as part of my font list to start with.

But from the issue discussion and traces, this should be the right fix.
2025-12-16 15:22:16 +01:00
Jehan
75fd88e881 authors4gimp-web: "artist" section clearly also contains splash artists. 2025-12-16 12:43:28 +01:00
Jehan
29423d5bd7 authors: update list. 2025-12-16 12:42:16 +01:00
Jehan
8eff2ba86f NEWS: start the next section (still named RC3 for now, but we'll see…). 2025-12-16 00:56:25 +01:00
Jehan
d0857e1806 gitlab-ci: fix dev-docs job.
Since commit fe3418aadc, GIMP docs folder is versioned with the API
version.
2025-12-16 00:46:46 +01:00
Jehan
f808feba42 gimp-data: update.
It's not very useful per-se, except that for keeping the submodule
shallow for packagers, always staying on HEAD of gimp-data is ideal.
2025-12-16 00:28:41 +01:00
Jehan
d92c237a17 Issue #13709: wait we get our first surface focus before listing…
… input devices.

Per Carlos' advice on gtk#7534, I wait for us to get a focus, since the
pad devices are only created at that point.
Note that this is a Wayland-only issue, but since it doesn't matter too
much that input devices are not initialized before we have a focused GUI
anyway, let's make this simpler.

At the earliest, the splash focus can announce a focus, but since it is
possible to start GIMP without the splash, display shells will also
possibly announce the first focus (there will always be a display shell
focusing at some point for any GUI GIMP!).
2025-12-16 00:02:33 +01:00
Jehan
10cf3f05ee tools: remove generate_changelog.sh.
We have not used this script since 2009.
2025-12-15 13:17:28 +01:00
Jehan
6e1afe9bf3 gimp-data: sync the share/doc/ update. 2025-12-15 13:02:49 +01:00
Jeremy Bícha
fe3418aadc devel-docs: Use API version not app version for install location
In other words, 3.0 instead of 3.2

Pairs with https://gitlab.gnome.org/GNOME/gimp-data/-/merge_requests/45
2025-12-15 11:05:23 +00:00
Bruno Lopes
5b24852e9b
build/windows: Fix ForegroundColor 2025-12-14 22:30:00 -03:00
Bruno Lopes
89a7b8d0e2
Revert "build/linux: Remove bogus GIMP appdata check on MSIX submission"
This reverts commit efc1493ef0.

While it works well on CI, it can be dangerous locally. So,
let's fix the test and add a commendt about its purpose.
2025-12-14 22:28:11 -03:00
Bruno Lopes
efc1493ef0
build/linux: Remove bogus GIMP appdata check on MSIX submission 2025-12-14 21:53:43 -03:00
Jehan
fe11617a8f meson: fix babl's requirement.
In commit 44ba2219fb, the sanity check version was bumped, but not the
meson check!
2025-12-14 23:11:35 +01:00
Jehan
923b7e09b5 tools: fix versioning on successive RC releases. 2025-12-14 23:11:35 +01:00
Jehan
832e678f01 build: snap is experimental again. 2025-12-14 22:19:38 +01:00
Jehan
372d526376 Post-release version bump to 3.2.0-RC2+git. 2025-12-14 22:16:49 +01:00
Jehan
25e9643755 Release GIMP 3.2.0 RC2. 2025-12-14 21:44:54 +01:00
Jehan
7050215484 build: update snapcraft for release. 2025-12-14 21:44:54 +01:00
Jehan
57316a9729 Issue #15494: loading transformed + rasterized linked layer was failing.
There was an inconsistency in xcf_load_buffer() with the size of the
buffer because the transform property has to be processed at the end.
2025-12-14 21:44:54 +01:00
Jehan
b80b1ae0d7 NEWS: update. 2025-12-14 19:17:18 +01:00
Jehan
fbc563eb8b Issue #15491: "layers-mask-apply" insensitive on rasterizable items. 2025-12-14 17:54:03 +01:00
Jehan
1fcdb7243e build: upload xz-compressed artifacts.
tar doesn't compress on its own, it's just a container format. It
doesn't look like these 2 files are actually used otherwise, apart from
being log artifacts (at least I couldn't find any script decompressing
these).

This is an attempt to reduce size of artifacts on deps-flatpak because
CI complains with a "Request Entity Too Large" error.
2025-12-14 15:05:04 +01:00