Commit graph

54341 commits

Author SHA1 Message Date
Jehan
36d8a63004 NEWS: move to NEWS.pre-3-0 and prepare for the new stable series. 2025-03-17 23:43:19 +01:00
Bruno Lopes
5efb09fb2c
build/windows: Fix crazy rebase done by
2983c0ac
2025-03-17 19:34:57 -03:00
Bruno Lopes
2983c0ac61
build/windows: Fix MSIX script failure at .msixupload making
This was a regression introduced by b285cfd3
2025-03-17 19:22:51 -03:00
Bruno Lopes
bfad4aba8e
build/windows: Add Stable MSIX Product ID
It wasn't needed for the first submission, but
the following automatic ones will need it.
2025-03-17 14:31:34 -03:00
Jehan
07e0345b5f meson.build: post-release version bump to 3.0.1. 2025-03-17 13:06:36 +01:00
Alexander Shopov
fb10438965 Update Bulgarian translation 2025-03-17 11:06:33 +00:00
Luming Zh
a0876355ff Update Chinese (China) translation 2025-03-17 10:57:18 +00:00
Luming Zh
8cecce1081 Update Chinese (China) translation 2025-03-17 10:34:11 +00:00
Martin
1282293b18 Update Slovenian translation 2025-03-17 01:09:59 +00:00
Jehan
9785099e5a Release GIMP 3.0.0. 2025-03-17 01:44:19 +01:00
Bruno Lopes
8cb3f0ff66
build/linux: Ensure that 'ld-linux' have .debug symbols
x86_64 have a peculiar path so this trick is needed.
2025-03-16 19:27:31 -03:00
Bruno Lopes
4e073a6788
build/linux: Do not bundle 'gdk-pixbuf-query-loaders' .debug symbol 2025-03-16 19:27:27 -03:00
Jehan
599f209238 desktop: update release date. 2025-03-16 23:06:32 +01:00
Jehan
60119602be desktop: fourth screenshot, by Liam! 2025-03-16 22:58:52 +01:00
Jehan
8ae4c9d066 NEWS: update. 2025-03-16 22:03:56 +01:00
Bruno Lopes
4c8c64aa46
build/linux: Remove leftover from previous try of .debug on AppImage
It is not needed because the .debug files are bundled.
2025-03-16 17:43:01 -03:00
Yuri Chornoivan
492e429881 Update Ukrainian translation 2025-03-16 20:20:41 +00:00
Bruno Lopes
958e82d5e9
build/linux: Bundle deps .debug symbols on AppImage with 'debuginfod' 2025-03-16 17:14:54 -03:00
Jehan
ba4dae9cd9 desktop: update the screenshots. 2025-03-16 20:32:04 +01:00
Jehan
8c077d50d1 plug-ins: revert the multi-threading code.
The whole multi-threading changes in the help plug-in seem to badly
break on macOS. See discussion in reopened #12898.
We decided to get rid of it for now and see later if we need to
reimplement this (after understanding what is going on).

Revert "plug-ins: fix #13049 Calling help on unknown help-id causes..."

This reverts commit 7d153bcc6d.

Revert "plug-ins/help: fix thread unnecessarily waiting when locale_parse failed"

This reverts commit fd0ccfa16c.

Revert "plug-ins/help: fix crash when locale is NULL"

This reverts commit 4075add5b4.

Revert "plug-ins: fix failing to access help from within GIMP"

This reverts commit 38f0527ebc.

Revert "plug-ins: add some better error handling when the docs XML request/parsing fails."

This reverts commit 543bb374a8.

Revert "plug-ins: try to load the gimp-help.xml file in a thread."

This reverts commit f2d47e910b.
2025-03-16 19:30:47 +01:00
Kolbjørn Stuestøl
34e35f3fd5 Update Norwegian Nynorsk translation 2025-03-16 17:09:44 +00:00
Øyvind Kolås
fc35864880 meson, app: depend on GEGL-0.4.56 2025-03-16 15:38:41 +01:00
Bruno Lopes
dc53786acd
build/linux: Update README regarding versioning 2025-03-16 07:02:44 -03:00
Bruno Lopes
b0b4c513ff
build/linux: Make gimp module a bit more alike the one on Beta manifest 2025-03-15 21:30:50 -03:00
Bruno Lopes
d4f51fdd77
build/linux: No need to set PYTHONHOME on AppImage
Closes: #13050
2025-03-15 20:45:11 -03:00
Bruno Lopes
ce33dab5f1
build/linux: Add error message to runtime version check 2025-03-15 17:13:15 -03:00
Bruno Lopes
5b3ffcb64e
build/windows: Auto instruct MSIX maintainer about self-sign certificate
Partially reverts dd4b687d
2025-03-15 16:26:06 -03:00
Alx Sa
206273c6b5 core: Add version 23 to XCF switch statement
Resolves #13124
In 3f3b29ba we bumped XCF version to 23 due to
new blending spaces. However, we did not update
the version check switch statement to accept this
version. This patch adds a new case to handle version
23.
2025-03-15 18:23:07 +00:00
Alx Sa
a723fe27b3 plug-ins: Fix crash when exporting indexed ICNS images
Resolves #12880
Same problem as in 4cd3360d, just applied to exported ICNS icons instead.
2025-03-15 17:34:03 +00:00
Alx Sa
a034283cb0 plug-ins: Import/Export color profiles for PNG-based ICNS files
Resolves #12880
Since ICNS stores full PNGs for some icon types, it's
possible for them to have a color profile stored in
their iCCP chunk. This patch enables the existing
metadata option to save color profiles, then passes
that choice to the PNG procedure when exporting. Since the new widget affects the existing flowbox,
we also define a minimum height to prevent cutting
off the first row.

Loading is trickier since other software could
potentially combine PNGs with different color profiles
in the ICNS. GIMP does not yet support per-layer
profiles, so for now we'll follow the way the TIFF
importer does it and just attach the first color profile
we come across while loading.
2025-03-15 17:34:03 +00:00
Bruno Lopes
36e788abec
build/windows: Make MINGW_PACKAGE_PREFIX detection more subtle 2025-03-15 14:04:10 -03:00
Alx Sa
133bd2d432 plug-ins: Fix crash when exporting indexed HTML tables
Resolves #13122
The HTML table code expects RGB or Grayscale pixels
when creating a "BGCOLOR" attribute in the table.
This patch defines the capabilities of the exporter
in GimpExportOptions and retrieves a suitable image
with gimp_export_options_get_image ().
2025-03-15 15:18:14 +00:00
Alx Sa
4cd3360d53 python: Fix crash when exporting indexed ORA images
Exporting ORA images involves first creating PNGs of
the layers. To do this, we create separate images for
each layer with Gimp.Image.new ().
However, if the original image was indexed, we lose
the palette when passing the temporary image to
the PDB call. This caused us to try saving a NULL
palette, which resulted in the crash.

This patch adds a check if the image is indexed, and
copies over the palette to the temporary image.
2025-03-15 02:36:20 +00:00
Bruno Lopes
a091b6b2d8
build/windows: Update MSIX README to mention Stable entry 2025-03-14 19:57:05 -03:00
Jehan
26caad3f3b NEWS: update. 2025-03-14 22:55:41 +01:00
Bruno Lopes
df9f812b59
build/linux: Fix comment style about Lua on AppImage script
Let's put links only about toolkit (go-appimage and appimagetool) issues
2025-03-14 18:04:48 -03:00
Jehan
c381390615 Issue #12636: _gimp_gp_param_def_to_param_spec throws WARNING on…
… a build of type "release".

Thanks to Lloyd Konneker for their original diagnosis of this issue!
2025-03-14 21:52:19 +01:00
Bruno Lopes
6adc6aa23f
gitlab-ci: Add build-id to AppImage
This is needed to proper update check.
2025-03-14 16:01:09 -03:00
Jehan
5272618512 app: fix wrong offset of layer buffer with pass-through groups. 2025-03-14 18:53:57 +01:00
Jacob Boerema
3ee85e422b plug-ins: fix #13107 failure to read exported grayscale DDS image
When exporting a grayscale image with alpha channel as DDS while
choosing "default" format, we did not set the DDPF_LUMINANCE flag,
but instead used DDPF_RGB, on loading in the 3.0 branch this caused
a failure to read this format due to unrecognized combination of
settings.

First we make sure that on exporting to also set DDPF_LUMINANCE for
grayscale with alpha.
Second we also make sure to zero the blue and green mask fields,
since that is the expected value when these fields are not used.

To support this type of older exported DDS images, we add an extra
format definition for this unusual combination of DDS settings,
that way we recognize them when opening and are able to load them.
2025-03-14 12:23:42 -04:00
Alx Sa
4d8073a3a0 widgets: Prevent crash when converting to indexed image
Resolves #13092
GIMP crashed when converting an image to indexed mode,
if the user first changed the color in the Configure Grid
Dialogue. This was because signals were not being
properly disconnected from GimpColorMapSelection
after the dialogue was closed.

Jehan found the solution, to replace 
g_signal_connect_swapped () calls with
g_signal_connect_object () and flags set to
G_CONNECT_SWAPPED to retain the original
behavior. This ensures the signals are disconnected
after the widget is destroyed on dialogue close.
2025-03-14 15:18:48 +00:00
Bruno Lopes
e139e016a5
gitlab-ci: Install 'python3-gi-cairo' for full introspection
Closes #13105

Differently from MacPorts and MSYS2 packages, this isn't auto installed.
2025-03-13 21:11:21 -03:00
Jehan
bf144eba1b Issue #13057: partly rendered passthrough layer group inside passthrough layer group.
So the problem was that the duplicated image (as returned by
gimp_export_options_get_image()) was not fully rendered. I think it is
related to the computed size of pass-through group layers (whose borders
may show actually smaller than their actual render which is in fact
composited with below layers).

I am not perfectly happy with my solution as I'd have prefered fixing
the source issue, but it is good enough, just a few before GIMP 3.0
release.
2025-03-14 00:54:31 +01:00
Jehan
8bf314f47a app: use the mode node output on a pass-through group with no filter.
The call to gimp_drawable_merge_filters() on a group set a buffer to the
group layer (a bit like when we rasterize text layer) which was why it
worked fine. But when the group had no filter, we didn't have this side
effect.
So let's make sure we use the mode node output as our merged layer's
buffer in such case.

Also when the bottom layer (to merge) is a pass-through group, we don't
want to disconnect its input.
2025-03-14 00:54:31 +01:00
Alx Sa
40fe4fc62f plug-ins: Convert Print Preview for images with higher bit depth
Resolves #13104
print_preview_get_thumbnail () crashes when trying
to display thumbnails where the image's precision is
higher than 8 BPC. While the plan is to rewrite/replace
this plug-in, for now, we'll duplicate the drawable's
image and convert to 8BPC to prevent issues.
2025-03-13 23:22:51 +00:00
Alx Sa
f576531bec plug-ins: Fix palette being blacked out on indexed ICO export
Resolves #13099
For indexed ICO images, we get the palette from a
temporary image during export. Since the palette is
tied to the image, when we convert the temp image to
RGB and then delete it, the GimpPalette is lost and
the image is exported as pure black.

This patch resolves the issue by calling
gimp_palette_get_colors () to get the actual GeglColors,
then adding them to a new palette with
gimp_palette_new (). As this is separate from the
temporary image, it is retained after the call to
ico_image_get_reduced_buf ().
2025-03-13 03:25:26 +00:00
Jacob Boerema
acead5642e plug-ins, tests: add tests for more file formats...
using example files from the nomacs testset.
2025-03-12 21:51:19 +00:00
Alx Sa
731766e9bc vectors: Remove debug printout when Snap to Active Path on
Resolves #13096
In 5a43a464, some debug output was added to help
diagnosis a problem when Snap to Active Path was
turned on. The issue seemed mostly resolved in e57ad0f8,
but the print statements were left in. This leads to
slowdown when moving layers while Snap is enabled
(due to the continuous print statements).

As it's been 19 years since the original commit, it
should be fine to remove these debug statements
to boost performance.
2025-03-12 20:29:54 +00:00
Alx Sa
8fd1d229dc plug-ins: Fix reading/writing NULL clipping paths for PSD
Previously, we did not check if the clipping path name
was properly converted to ISO-8859-1 from UTF-8
before saving. g_convert can return NULL if it fails,
which means we wrote NULL (causing a crash on load).

To resolve, this patch adds a check if the clipping path
name is NULL on load, warns the user, and then
stops loading the clipping path resource.
On export, we fall back to ASCII instead if the conversion
to ISO-8859-1 fails.
2025-03-12 20:06:25 +00:00
Bruno Lopes
4497c906c1
build/linux: Fix AppImage crashing due to lack of Xapp gschemas
Closes: #13082
2025-03-12 13:24:32 -03:00