Commit Graph

53867 Commits

Author SHA1 Message Date
Rupert c3b391a319 plug-ins: bmp import - call digest_masks() only when needed 2025-01-09 23:04:02 +00:00
Rupert df4d741275 plug-ins: bmp import - don't double-check eof
Removed unnecessary if(!eof) -- it's already part of the loop
condition.
2025-01-09 23:04:02 +00:00
lloyd konneker 8f1be83840 ScriptFu: tests: revise for recent changes to API circa 3.0rc2
No changes except to tests.

Mostly minor, except major changes to testing calls to gegl filters.
2025-01-09 16:43:48 -05:00
lloyd konneker b14b17fa53 ScriptFu: fix relay error when marshalling args
Broken in previous commit to this file.
An error return from script_fu_marshal_arg_to_value must be relayed.
2025-01-09 16:43:48 -05:00
lloyd konneker 54a53ae8b7 ScriptFu: tests: fix tests broken between 2.99 and 3.0rc2
No changes other than to test framework and tests.
2025-01-09 16:43:48 -05:00
Yuri Chornoivan ff192d25d3 Update Ukrainian translation 2025-01-09 21:38:41 +00:00
Alan Mortensen d41ab22493 Update Danish translation 2025-01-09 15:53:20 +00:00
Alexander Shopov 967e099026 Update Bulgarian translation 2025-01-09 08:59:23 +00:00
Alexander Shopov 6a36278ad3 Update Bulgarian translation 2025-01-09 08:57:16 +00:00
Alexander Shopov 6def179174 Update Bulgarian translation 2025-01-09 08:56:51 +00:00
Martin fc2c768f66 Update Slovenian translation 2025-01-08 21:14:10 +00:00
Jacob Boerema 9df18cb217 plug-ins, dds: fix #12660 failure to load certain DDS images...
that were written by older versions of GIMP.

The improved DDS reader that we got a year ago, caused us to be more
strict in determining what exact DDS format we are loading.

This causes failure in reading certain DDS images exported by older
versions of GIMP.

1. Both the A8 and A8L8 formats as written by GIMP, also wrote 0xff
in the masks of the green and blue channels, which should have been
set to 0, since they are unused. Because of this, they were not
recognized anymore by our import routine.

2. When the source layer didn't have an alpha channel, the BGR8 format
wrote a 24-bit format, which doesn't have any official representation
(only RGB8 exists). This also caused our import routine to fail for
this kind of image.

After updating our export in previous commits, this commit adjusts our
import routines to recognize and correctly load these images.
2025-01-08 14:26:26 -05:00
Jacob Boerema 6447add47b plug-ins, dds: export BGR8 as D3DFMT_X8B8G8R8
When the source image/layer didn't have an alpha channel, we were
exporting BGR8 as 24-bit B8G8R8, which is not an official D3D DDS
format.

For compatibility with other programs using DDS, let's instead use
D3DFMT_X8B8G8R8 which is 32-bit with the alpha channel being
ignored/set to 0.

See issue #12660 for more details.
2025-01-08 14:26:25 -05:00
Jacob Boerema a427dcdf4d plug-ins, dds: incorrect flags when exporting to l8 and l8a8 formats.
When exporting a dds with types l8 or l8a8 we were also setting the
green and blue masks to 0xff instead of using 0 (since these channels
are not used for these formats).
See issue #12660

Set these channel masks to 0 to be more conforming to dds standards
and update our plug-in revision.
2025-01-08 14:26:25 -05:00
Bruno be83d5aed5
gitlab-ci: Make Debian Docker image version easier to change and branch-aware
This is needed otherwise if we have a branch that relies on Debian testing and
other that relies on Debian stable their images would mix in the actual status.
2025-01-08 16:22:05 -03:00
Jacob Boerema e5b35622d6 plug-ins, exr: fix #12340 crash on loading unsupported exr type
When trying to load an exr type that GIMP can't handle we threw an
exception causing a crash of the plug-in.

This isn't very user friendly, so change this to show a less
disruptive error message that we can't load the image.
Removed "for reading" from the existing error message to better reflect
that it isn't necessarily always a problem reading the file.
2025-01-08 18:20:06 +00:00
Jacob Boerema f3d6c9326f image loading plug-in tests: add cmyk pam tests 2025-01-08 13:15:56 -05:00
Thomas Manni 43639e99fd app/widgets: do not use a reference to the active image in GimpColorFrame
...but use a signal handler for GimpImage::disconnect instead.

Fixes #12453
2025-01-08 17:23:16 +01:00
Anders Jonsson efbf084e3a Update Swedish translation 2025-01-08 15:56:09 +00:00
lloyd konneker fb3f8e7fe6 libgimp: fix #12494
Change the message for debugging proxy refs: say "DEBUG" instead of "ERROR".

This doesn't fix any logic.
The logic produces a spurious error msg often, scaring users.
The debug message can be seen and analyzed by devs.

Add a comment about what object proxies are normally reffed:
defaults for formal args of temporary procedures kept by persistent plugins.
2025-01-08 08:11:59 -05:00
lloyd konneker caf007b22c ScriptFu: fix #12696 improper reffing of object proxies
For old-style scripts calling script-fu-register.

Test case Demo>Clothify v2
2025-01-08 08:11:59 -05:00
lloyd konneker 3c197d9578 ScriptFu: scripts: fix two test scripts affected by changes to object array in PDB API 2025-01-08 12:00:59 +00:00
Alx Sa 1beb1f7464 core: Prevent crash when multiple channels are copied
Currently, we do not handle copying multiple channels.
The function call returns NULL but does not set an error
message - this causes a crash when we try to print out
error->message.
This patch changes the g_return_val_if_fail () call to an
IF statement, so that we can initialize the error object
with a message to prevent the crash.
2025-01-08 02:01:28 +00:00
Jehan a1e346b3a3 Issue #12671: 'libarchive' dependency is undeclared on INSTALL file. 2025-01-07 19:27:59 +01:00
Jehan 5b07268c24 Issue 12672: 'json-glib' is undeclared in INSTALL file. 2025-01-07 19:24:55 +01:00
Jehan 3362b52e0c devel-docs: use the devel logo for API docs.
Also depends on gimp-data, so I bump it, which brings as well some RTL
icon fixing.
2025-01-07 17:49:16 +01:00
Jehan 4e57e7b4ea Issue #12641: Help>About GIMP dialog does not show an update in 3.0 RC1.
RC numbering was not taken into account for version comparison.
2025-01-07 17:10:57 +01:00
Jehan 33ab56f554 Issue #12640: crash on font not found.
pango_context_load_font() can return NULL.
2025-01-07 12:57:44 +01:00
Bruno 8556db2759
build/windows: Do not build GEGL workshop while we are stable
Jehan and Pippin told me that this should not be enabled in stable releases, so
I am manually disabling this targeting the upcoming 3.0.
2025-01-07 08:45:50 -03:00
Alexander Shopov 9cdf8f4eb2 Update Bulgarian translation 2025-01-07 06:45:25 +00:00
Thomas Manni c434fe8be8 Issue #12411: manage filters undo when deleting/cutting a layer
Push a filter remove undo for each filter when their layer is deleted or cut.
2025-01-07 06:01:09 +00:00
Jehan 7694b1dc04 Issue #12640: run in-build GIMP binary through a debugger when gdb is available.
It is not in fact a fix for #12640, only an improvement to our build
script, wrapping our calls to GIMP executables and outputting a
backtrace on a crash. This way, when people report issues during one of
the relevant calls, we may be able to diagnose.

It won't be useful for other types of failures (when the process doesn't
crash, but e.g. the script is wrong or other non-fatal bugs in GIMP).
2025-01-06 21:09:37 +01:00
Bruno d58fe9e329
gitlab-ci: Explicitly install 'libarchive'
See: #12671
2025-01-06 16:12:05 -03:00
Alx Sa 59953205f8 themes: Define popover button padding
The padding for image buttons on popovers like the layer lock
options was not defined. On system themes which set this padding
to 0px, it made it difficult to tell if the alpha lock was enabled
or not. This patch defines the padding to prevent this issue.
2025-01-06 08:50:07 -05:00
Jordi Mas 485e6811f5 Update Catalan translation 2025-01-06 14:07:07 +01:00
Danial Behzadi 382bdb0a26 Update Persian translation 2025-01-06 13:06:05 +00:00
Bruno 47f4f78212
build/windows: 'vala' is a build-time only dependency
Following 68fad1e0
2025-01-06 07:42:42 -03:00
Bruno 68fad1e04b
build/windows: Separate build-time deps from the others in all-deps-uni.txt
Similarly to f4ba4d97
2025-01-06 07:36:32 -03:00
Bruno 5aeb38b521
build/windows: 'shared-mime-info' is not a direct babl, GEGL or GIMP dependency
It is a remnant of the time we custom builded GTK (c59c93cd),
not being needed for icon generation on Windows at all (6126437a).
2025-01-05 19:50:15 -03:00
Rupert 84a501f516 clang-format update
- Add Alignment for bitfields.
- BreakBefore*Operators: adhere to GIMP Coding Style.
- Align... AcrossComments: allows section comments in long lists w/o
  disturbing alignment (e.g. the struct at top of bmp-load.c). Alignment
  can still be reset with a newline.
2025-01-05 13:27:47 +01:00
Bruno 841a30bed1
build/linux: Exit AppImage script if no 'config.h' file is present 2025-01-05 08:44:33 -03:00
Bruno dfd4563e25
build/windows: Explicitly install 'libtiff'
Following f881408e

Also, remove old transitional package from Debian deps list.
2025-01-04 21:52:30 -03:00
Bruno f881408e5f
build/windows: Explicitly install 'librsvg'
Similarly to 9d133add, it is listed on INSTALL but not on this deps list.
2025-01-04 21:35:31 -03:00
Bruno f4ba4d97d5
gitlab-ci: Separate build-time dependencies from the others in Dockerfile
This concept (taken from Arch PKGBUILD files) makes easier to understand and
mantain our naturally enormous dependencies list.
2025-01-04 19:48:47 -03:00
Bruno 00deb38ef8
build/windows: 'brotli' is not a direct babl, GEGL or GIMP dependency
This is a remnant from time we builded libjxl manually (e43743e0).
We can just omit it that pacman will install anyway due to libjxl.
2025-01-04 17:02:38 -03:00
Bruno fb8f16d68e
build/windows: Do not install 'lensfun' for obscure/broken gegl:lens-correct
It's very unclear who and when added that package to the deps list and if
it is needed to we bundle something more than the library (share/lensfun?).

Indeed, that GEGL op is reported to not work properly as a tool (2ba36733) and
have severe UX problems (#4695), being impossible to use even as experimental.
So, let's not install it to not bloat GIMP installation with not used code.
2025-01-04 16:25:28 -03:00
Bruno 29b2195751
build/windows: 'json-c' is not a direct babl, GEGL or GIMP dependency
This seems to be a remnant of the time we custom builded libmypaint.

According to my tests, removing it from the list do not break build,
after all pacman auto installs it for being a libmypaint dependency.
2025-01-04 16:09:07 -03:00
Alx Sa 5e3047c70d core: Apply noninteractive filters direct to drawable
When the user checks "Merge Filters" on interactive filters,
we move the filter to the bottom of the stack so it applies
directly onto the drawable (instead of merging the entire filter
stack).
However, we did not do this reordering for non-interactive filters,
resulting in incorrect output. This patch applies the same logic
so that when you apply a filter like Invert, it affects the drawable
only and does not cause problems for any existing NDE filters.
2025-01-04 19:04:11 +00:00
Lukas Oberhuber 65d4ec7ea4 macos: Open files from finder fixing #12603 #12465 #12439
Needs to be tested on MacOS below 15 (Sonoma)
2025-01-04 18:23:50 +00:00
Bruno 36d6217a56
Issue #4251: GIMP does not depend on 'dbus-glib' for over 10 years 2025-01-04 14:50:50 -03:00