Commit Graph

54163 Commits

Author SHA1 Message Date
Alx Sa 127cd67118 plug-ins: Fix crash when loading CMYK JPEG 2000 images
When converting a CMYK JPEG 2000 image to RGB, we freed
the Key array. Since it is still in use, this caused the
plug-in to crash. This patch replaces this with lowering
the component content and letting the OpenJPEG clean up
process handle this work instead.
2025-02-19 19:00:57 +00:00
Alx Sa 535d0183be core: Data security improvements per Wormnest 2025-02-19 16:47:54 +00:00
Alx Sa 3a01b90c2d core: Add support for uncompressed 16 bit ABR brushes
Some ABR brush files have 16 bit grayscale masks, which fail to load.
This patch adds support for uncompressed versions of these brushes,
based on a provided sample file.
2025-02-19 16:47:54 +00:00
Jordi Mas 421186ecee Update Catalan translation 2025-02-19 07:30:37 +01:00
Jehan 4a1dee4651 plug-ins: improve the progress notification for Script-Fu.
First of all, let's init with the main procedure label (stripped of
leading/traling spaces, of mnemonic underscore and of ellipsis) as
progress status for gimp_progress_init().

Then reuse this main label for all subsequent progress updates by the
same top procedure.

Finally "pulse" the progress at each update to make it more like
progression actually happens.

This is a first experiment to see if not having progress API in
Script-Fu is fine (#12948), by having better progression defaults.
2025-02-18 21:09:22 +01:00
Jehan 9d7bfb4669 Issue #12940: GimpProcedure base class should default to GIMP_PROCEDURE_SENSITIVE_ALWAYS.
Note that I don't touch the GimpFileProcedure and children because they
are special-cased anyway. As for GimpBatchProcedure, ALWAYS is a good
default too.
2025-02-18 16:50:37 +01:00
Bruno 7a2537de9a
build/linux : Fix unwanted character in AppImage revisioning
Completing 57e91450
2025-02-17 21:03:58 -03:00
Jehan 9ef88f3c88 app: re-add "gegl:hstack" to blacklist.
This was removed by commit 38b18de709 because this operation doesn't
exist anymore and was replaced years ago. Even though it was not wrong,
let's be over-cautious rather than not enough. What if someone had still
a binary of this old operation lying around?

This doesn't cost much to keep it in the list, so let's just do it (with
a comment to still document it doesn't even exist anymore).
2025-02-17 22:33:38 +01:00
Jehan f7b0a82cf3 NEWS: update. 2025-02-17 22:28:16 +01:00
Jehan 5861be8d2b plug-ins: support GimpUnit type in Script-Fu.
Since the move of GimpUnit from some weird int/enum mixed type into a
proper object type, this was not usable anymore in Script-Fu.

Functions like (gimp-text-layer-new) were therefore broken. It now works
again.
2025-02-17 22:21:24 +01:00
Jehan 4f44ef6ed1 app, pdb: add parameter validation for (gimp-text-layer-new).
Even though the libgimp wrapper has annotations, it is still possible to
pass a NULL font through, in Script-Fu for instance by not passing all
arguments (and very likely in a plug-in by calling the PDB procedure
directly rather). And unfortunately this would crash GIMP when it tries
to work on the NULL font.

Let's do some sanity check!
2025-02-17 22:21:24 +01:00
Bruno 57e914507d
build/linux: Complete AppImage revisioning code
It was first introduced in 131834d3 but was incomplete.
2025-02-17 16:01:23 -03:00
Marco Ciampa 62bd4b30cb Update Italian translation 2025-02-17 16:33:41 +00:00
Bruno 79568e3094
build/windows: Patch only the needed Inno lang files
The previous code was inconditionally patching all the lang files, even
the ones which we don't use. Let's fix that using the "langs*" arrays.
2025-02-17 12:32:31 -03:00
Bruno 27a01b5ca8
build/windows: Supress noisy .gitignore creation on MSIX script 2025-02-17 10:10:24 -03:00
Bruno 5e287e8bbe
meson, build: Auto parse full 'config.h' for future-proof scripts
Now, we can use whatever variable we want from 'config.h' with its
value, unlike the previous code which was hardcoded and did not
worked at all for variables with custom values like GIMP_RC_VERSION.

(Note: there are still work to do with Inno scripts)
2025-02-17 09:51:19 -03:00
Danial Behzadi 322002e389 Update Persian translation 2025-02-17 10:10:40 +00:00
Bruno 1473a52704
build/windows: Do revisioning stuff with Inno scripting
Also, fixes CUSTOM_GIMP_VERSION format.
2025-02-16 18:58:11 -03:00
Anders Jonsson 0fa421d874 po: update POTFILES.in 2025-02-16 18:33:33 +01:00
Bruno fd3fcf68a5
build/linux: Fix 'undefined symbol: gtk_module_display_init' error on AppImage
It was caused by GTK finding host's canberra or others modules, which
is goappimage fault: https://github.com/probonopd/go-appimage/issues/332

This bug will remain if the distro have some uncommon module (e.g.
appmenu, colorreload), since we don't ship them.
2025-02-16 10:49:58 -03:00
Jordi Mas 10e6642786 Update Catalan translation 2025-02-16 07:07:08 +01:00
Jordi Mas 626af9990f Update Catalan translation 2025-02-15 21:57:36 +01:00
Bruno 29209fa219
Issue #12937: Bundle 'gio-launch-desktop' to fix AppImage unable to open links
Closes #12937
2025-02-15 16:57:43 -03:00
Kolbjørn Stuestøl f6fb61f5fe Update Norwegian Nynorsk translation 2025-02-15 17:39:38 +00:00
Jehan 61f380789e libgimp: all blurbs to GimpProcedure arguments are nullable.
Without this, we cannot set NULL (or equivalent, such as None in Python
3) when calling these functions in bindings.
2025-02-15 17:42:52 +01:00
Jehan 1a794ad77c app, pdb: gimp_text_layer_set_font_size() allows the pixel unit. 2025-02-15 17:42:52 +01:00
Alx Sa c548ca5dfd core: Display image previews in original format
In 9e8499bb, we forced image and drawable
previews to be 8 bit integer for compatibility.
However, this affects image previews when
in higher precisions, leading to banding
and other conversion issues.
Since the color space invasion, the original
problem should have less of an impact
as GIMP now handles conversions between
profiles much better. Therefore, we will
just grab the existing format for Grayscale
and RGB images, rather than forcing a
precision change to 8 bit.
2025-02-15 15:01:43 +00:00
Bruno f1f529ce5d
build/windows: Fix .gitignore patching done by MSIX script
4b15d3d6 showed that the script was imperfect in that point
2025-02-15 11:44:49 -03:00
Jacob Boerema e589b8a3da app: blacklist json:dropshadow and json:grey2 gegl ops
As discussed on IRC these ops mostly duplicate other gegl ops and
have some shortcomings: range and gui-range, among other things,
are currently not supported. This causes some issues changing values
of parameters in GIMP, see e.g.
https://gitlab.gnome.org/GNOME/gegl/-/issues/403

Since they bring nothing new, and have issues, we will blacklist them
from the GEGL tools interface in GIMP, at least until they have
better support in GEGL.
2025-02-14 16:13:36 -05:00
Emin Tufan Çetin 173ece82a8 Update Turkish translation 2025-02-14 19:45:14 +00:00
Emin Tufan Çetin 2f850dd9e3 Update Turkish translation 2025-02-14 19:39:22 +00:00
Emin Tufan Çetin cd220944b3 Update Turkish translation 2025-02-14 19:13:29 +00:00
Jehan e74759184c app, libgimp: change the default sensitivity mask.
After discussing with NikcDC and Wormnest on IRC, we agreed that maybe a
default of being sensitive when one or more drawables are selected seems
better, since the run() signature now has an array of drawables. So most
plug-in developers will consider the case when there are several
selected drawables as an obvious possible case.

And if someone really doesn't want to handle this case, they can always
set the sensitivity mask explicitly.
2025-02-14 20:08:43 +01:00
Jehan 059e9344a1 app: fix plug-in procedure sensitivity with no image types set.
In particular, when setting a sensitivity mask but no image types, the
procedure was always sensitive.
Also make gimp_plug_in_procedure_get_sensitive() more robust.
2025-02-14 19:52:39 +01:00
Jehan c4c3a2f25d libgimp: improve annotations. 2025-02-14 19:52:39 +01:00
Jehan 2c3e56a6aa libgimp: fixing annotation formatting.
This is markup format where the asterisk has some special meaning.
2025-02-14 19:52:39 +01:00
Jehan f1c1a869a9 gimp-data: bump to latest commit. 2025-02-14 19:52:39 +01:00
Jehan 7e7281b888 libgimp: add a links to gimp_main() docs from GIMP_MAIN(). 2025-02-14 19:52:39 +01:00
Alx Sa 0b7123ed2b xcf: Use filter's own mask when loading from XCF
Resolves #12854
Previously when loading filters, we used gimp_drawable_filter_apply ().
If there was also an active selection, it affected the recreation of the filter
and distorted the display.
This patch switches to using gimp_drawable_filter_apply_with_mask () so
that the filter's mask is always used instead, no matter if there is an active
selection or not.
2025-02-14 17:45:05 +00:00
Jacob Boerema 38b18de709 app: add gegl:pack to blacklist (replacement of gegl:hstack)
gegl:pack replaced gegl:hstack almost 5 years ago, but the blacklist
for not showing it in our list of ops in Gegl tool was never updated.

Since Pack is also causing issues in GIMP, see #12890 and #12902,
let's update the blacklist add it there and remove the old gegl:hstack
that has been removed from GEGL.
2025-02-14 11:32:21 -05:00
Bruno 4b15d3d667
.gitignore: Delete last unused exception
Following e653535e

The meson-generated 'compile_commands.json' file added by 793c9588 shows an
assumption that we are building in-source, and assumptions are not welcome in
this general file, according to Jehan comment: !1021 (comment 1801018)
2025-02-14 09:40:44 -03:00
Emin Tufan Çetin 55b05ec32e Update Turkish translation 2025-02-14 12:12:13 +00:00
Bruno 332b07f414
build/windows: Add a bit of verbosity to .appxsym and .msixupload creation 2025-02-14 06:23:16 -03:00
Sabri Ünal d2b80f7c3e Update Turkish translation 2025-02-14 06:06:53 +00:00
Alx Sa 8d53675d9f libgimp: Convert floating selection to layer on export
On export, when GIMP_EXPORT_CAN_HANDLE_LAYERS is not set
but GIMP_EXPORT_NEEDS_ALPHA is, we merge all layers in the image.
If there's a floating selection however, its attached layer is not included
in the exported image.

This patch converts the floating selection to a regular layer so that both
are included in the final export.
2025-02-14 00:56:22 +00:00
Bruno 3d6a27570f
build/windows: Try to fix quasi-msys2 deps download failing like crossroad
Ported from 81db76ea
2025-02-13 19:39:11 -03:00
Bruno f5088b8915
build/linux: Support 'updateinformation' on AppImage
This makes possible to easily update the .appimage file with
tools compliant with AppImage spec (e.g.: AppImageUpdate)
2025-02-13 16:48:10 -03:00
Bruno 74a05bc967
gitlab-ci: Do not build GEGL workshop for AppImage while we are stable 2025-02-13 14:44:37 -03:00
Bruno 131834d34f
build: Get rid of "CI_COMMIT_TAG" in favor of GIMP_* vars from config.h
This makes the scripts more consistent and easier to understand.
2025-02-13 09:24:57 -03:00
Bruno 0c1d11dc86
build: Unify checksumming behavior
As a rule, dist scripts will always output sha-256 and sha-512 sums but
the checksums files will be generated only on releases.
2025-02-13 09:24:19 -03:00