Commit graph

57206 commits

Author SHA1 Message Date
Bruno Lopes
cb9e1c9ac1 devel-docs: List build/macos/Info.plist on os-support 2026-03-21 21:44:36 -03:00
Bruno Lopes
6a35db6ec2 build/macos, libgimpbase: Support both in-house and CircleCI relocatable bundles
This was the last patch. Now, GIMP can finally be built without patches on Mac.
2026-03-21 21:39:42 -03:00
Bruno Lopes
16fc8d6306 gitlab-ci, build: Add comments about Meson weak .pc relocatability support
This limitation was already documented on Windows but
not on other platforms affected yet. Let's just paste it.
2026-03-21 20:50:29 -03:00
Bruno Lopes
f677365c72 build/windows: Conform installer .iss to Coding Style by removing tabs
It have been so annoying to check the commit diff on GitLab and
noticing that it is widely different from the one on the IDE.

After all, there is a reason for the Coding Style prohibiting tabs...
2026-03-21 20:44:58 -03:00
Martin
e1e7df2951 Update Slovenian translation 2026-03-21 21:32:02 +00:00
Bruno Lopes
85044d78d1 app, build/macos: Move PYTHONHOME logic from .patch to core code
This was tested with both in-house MacPorts, in-house HomeBrew and
legacy CircleCI builds and I confirmed it works (it is needed only
by the in-house MacPorts builds).
2026-03-21 17:34:30 -03:00
Bruno Lopes
9231db6473 build/windows: Update MSVC patch after new python detection 2026-03-21 15:03:15 -03:00
Alx Sa
51f1de8844 plug-ins: Add bounds checks to JIF loading
Resolves #16076
As reported by chamal, it is possible to craft a
Jeff's Image Format image with header values that
are larger than the file size. This can lead to buffer
overflows when loading the data. This patch adds
bounding checks based on the size of the stream.
2026-03-21 17:33:39 +00:00
Bruno Lopes
9db6c35ac5 build/windows: Fix installer one-arch support (for forks) after .iss unification
This fixes a regression introduced by a19ef562
2026-03-21 13:11:37 -03:00
Bruno Lopes
7a928ee3ed meson: Ensure unversioned python is properly found on Windows 2026-03-21 13:11:37 -03:00
Alx Sa
ccb3cc3ae8 plug-ins: Add bounds check for SFW plug-in
Resolves #16075
As noted by chamal, it is possible to cause a buffer overflow
in a crafted SFW file. This patch adds bounds checks to prevent
this from occurring.
2026-03-21 15:57:01 +00:00
Bruno Lopes
e14f1d7f0b build/linux: Update graphviz-14.1.3.tar.gz to 14.1.4
Synced from a042ca0c4f
2026-03-21 11:51:25 -03:00
Bruno Lopes
9ba96014bc build/windows: Bump custom exiv2 build to 0.28.8 after MSYS2 gexiv2 rebuild
See:  21895406db

Due to gexiv2 rebuilding it now links to exiv2 0.28.8 released recently.
As a result, gimp-console started to fail with Windows error 3221226505 at
splash image generation, because exiv2 from msys2 don't have our workaround.
Let's fix by bumping our custom build so gexiv2 can find it properly.
2026-03-21 11:26:22 -03:00
Марко Костић
047ab24186 Update Serbian translation 2026-03-21 11:56:57 +00:00
Bruno Lopes
e453dac63b tools: Forgot to exclude Windows from a section 2026-03-21 07:37:48 -03:00
Bruno Lopes
8427c76467 build/linux: Update openexr and ghostscript modules
Synced from e1e6d5270b
2026-03-20 23:01:51 -03:00
Bruno Lopes
e83eef67a9 tools: Ensure python3 in-build symlinking does not run on Windows 2026-03-20 22:56:31 -03:00
Bruno Lopes
92a860d5c9 app, meson: Make python check more robust to work with MacPorts etc
Partially reverts 9be1af2b

See the context: https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/merge_requests/408#note_2642419
2026-03-20 22:56:31 -03:00
Alx Sa
7612363d8c plug-ins: Clean up PVR import
Resolves #16058

Per mzfr's observations, this patch adds more
safeguards to PVR import. Memory for data and pixels
is allocated and checked rather than using arrays.
Twiddled patterns are increased to 2048 and we
verify the dimensions are in that range before trying
to access. If users share an image that is larger than
that, we can increase this limit further.
2026-03-20 23:33:19 +00:00
Martin
5f5f6fd055 Update Slovenian translation 2026-03-20 17:22:39 +00:00
Bruno Lopes
6d28b4852a build/windows: Do not change CWD while making the installer
Thanks to the various improvements, the .iss script does not rely on
CWD or relative paths anymore. Let's clean up things.
2026-03-20 12:42:26 -03:00
Bruno Lopes
c44c0dacde build/windows: Add Serbian Cyrillic code to meson.build
Following 5251f29b
2026-03-20 11:21:59 -03:00
Alx Sa
3264a67112 plug-ins: Clean up ICNS file loading
Resolves #16056
Per mzfr, we should check if the cursor exceeds the
icon total size in icns_slurp () (per OSX icons) as we
do already in icns_decompress ().

Additionally, we were not deleting the temp_image created
to load each icon, and in fact we were making an unnecessary
blank temp_image before receiving the one from the PNG &
JPEG2000 procedures. This patch fixes both problems.
2026-03-20 14:10:15 +00:00
Bruno Lopes
5251f29b55 build/windows: Add Serbian Cyrillic inno_code to iso_639_custom.xml
Following 5af6e7d2
2026-03-20 09:32:26 -03:00
Alx Sa
bb3bf0ae5b plug-ins: Allocate memory in PAA plug-in
Per mzfr, we should dynamically allocate memory
for the PAA plug-in pixel data rather than rely on the image
being small enough for an array to store its information.
2026-03-20 12:24:47 +00:00
Mateusz Jastrząb
34f980108d Update Polish translation 2026-03-20 11:59:40 +00:00
Bruno Lopes
dd5349a9f5 app, build: Use gimp_installation_directory() on macOS wrapper
It is more packaging-agnostic than the previous hardcoded code.
I confirmed it works with both in-house and CircleCI builds.
2026-03-19 21:06:40 -03:00
Martin
2c2f9216bd Update Slovenian translation 2026-03-19 22:18:19 +00:00
Martin
a7032e8e05 Update Slovenian translation 2026-03-19 22:12:54 +00:00
Bruno Lopes
91b840f557 build/macos: Remove uneded GIMP3_ vars set after symlinks
Following 2cbfad8e
2026-03-19 13:28:48 -03:00
Alx Sa
b6d43ec0fe plug-ins: Allocate more space for 4bpp TIM textures
Resolves #16052
Per mzfr, the pixel array for 4bpp TIM textures needs to
be allocated twice as large since each byte in the file
stores two pixel indexes when opened.
2026-03-19 12:39:06 +00:00
Alx Sa
e0bd82f290 plug-ins: Protect against too-large FITS images
Resolves #16051
As reported by mzfr, it is possible to crash the FITS plug-in
if a large enough image is read in. This patch implements their
suggestions of using g_try_malloc () over malloc () (and checking
if it returns NULL), as well as verifying the width & height are
within GIMP's image range.
2026-03-19 12:05:47 +00:00
Ekaterine Papava
2557d6a178 Update Georgian translation 2026-03-19 08:10:17 +00:00
Alx Sa
337cfb6a31 plug-ins: Remove unneeded gegl_buffer_iterator_add()
Resolves #5553
As noted by Massimo, in the Sparkle plug-in there is an
extra gegl_buffer_iterator_add () that is not used in the following
gegl_buffer_iterator_next (iter) loop. Since this adds dest_buffer
which is also written to in the loop in the fspike () functions,
it can cause data to be overwritten. This patch removes the
unneeded extra function call.
2026-03-19 04:07:58 +00:00
luming zh
f4d71a874a Update Chinese (China) translation 2026-03-19 02:55:53 +00:00
luming zh
4ca657e728 Update Chinese (China) translation 2026-03-19 02:45:38 +00:00
Alx Sa
5b5a39390a libgimp: Connect ResourceChooser mnemonics to button
While it's possible to set mnemonics on GimpResourceChooser
properties (brushes, gradients, palettes, etc), the accelerator
itself wouldn't work because the label wasn't connected to the
button widget.
The buttons are created externally and connected in
_gimp_resource_chooser_set_clickable (). This patch adds a call
to gtk_label_set_mnemonic_widget () if there is a label, so that
pressing the accelerator key on the label triggers the button
click function.
2026-03-18 23:49:46 +00:00
Bruno Lopes
db36fa3371 gitlab-ci: Remove a remnant of the legacy 32-bit job
This completes 0a8e21c4
2026-03-18 20:27:20 -03:00
Jehan
040fac494e app: do not leak string allocated by g_ascii_strdown(). 2026-03-18 23:36:56 +01:00
Jehan
f4f83b973c app: SwatchBooker support also uses libarchive and has similar bugs! 2026-03-18 23:11:20 +01:00
Jehan
b3eaf3a577 app: better handle error cases for invalid Swatches palette.
My use case was loading a 0-bytes swatches palette. This would crash
GIMP. And so would likely a zip archive suffixed .swatches with no .json
file in it, or a corrupted archive which would return ARCHIVE_FATAL when
attempting to read entries…

This patch fixes these edge cases. It also better handle the various
return values of libarchive. E.g. we should not abandon reading when we
get ARCHIVE_RETRY; and ARCHIVE_WARN is also a success case (despite
having some warning message).

Finally I break from the archive reading loop at the first JSON file, so
that we don't leak memory if there are several JSON file. It does raise
the question if this palette format allows such use case (several
palettes in a single .swatches archive).
2026-03-18 22:41:14 +01:00
Jehan
591518fdb1 app: fix failure to read a Procreate palette with no profiles.
The sample in the description of !2613 was failing to load with a bunch
of criticals. That was because when profiles == NULL, we would call
json_reader_end_member() while we never called the associated
json_reader_read_member(). Inverting the order of tests fix this.
2026-03-18 22:32:31 +01:00
Bruno Lopes
a00a227f54 plug-ins: Comment some unused functions on file-dds
To fix GNU Clang warnings
2026-03-18 18:04:11 -03:00
Bruno Lopes
23a17ee000 plug-ins: Comment unused function on sphere-designer
This fixes a warning from GNU CLang
2026-03-18 18:04:11 -03:00
Bruno Lopes
487ee4f5da plug-ins: Clean unused srcrow and src_bytes variables on warp
It was causing warnings on GNU CLang
2026-03-18 18:04:11 -03:00
Марко Костић
653d61e1cb Update Serbian translation 2026-03-18 20:56:33 +00:00
Марко Костић
7664cc7590 Update Serbian translation 2026-03-18 20:48:54 +00:00
Марко Костић
5ef15ef576 Update Serbian translation 2026-03-18 20:42:07 +00:00
Марко Костић
a08411f1ba Update Serbian translation 2026-03-18 20:29:53 +00:00
Марко Костић
5af6e7d249 Add Serbian translation 2026-03-18 20:02:31 +00:00