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.
This reverts commit fdb4111e3f.
I did not reverted before because seemed that GNOME guys bumped the
GitLab log limit but we just confirmed that it is still there.
This is a complementary commit to my previous one. Now let's try to
detect cycling links when importing images as link layers. It's much
friendlier this way, with early errors (rather than let people load
links with cycles, then save a XCF, and finally get an error message at
next XCF load).
This is part of the fix for #14985, only relative to loading. It assumes
that we already have a XCF with cycling in it and will cleanly load it
(instead of forever cycling). For this to happen, I split a bit some of
the header loading code in separate functions to quickly load the header
of every link recursively until we either reach a parent file (i.e. a
cycle was discovered) or we read them all. It means we don't discover
any level of cycling (however many successive links end up to a previous
file!)
File identity will follow symbolic links as well as verify hard links.
When a cycling link is discovered, the link is downgraded to a raster
layer (showing the last render of this layer).
This was happening in multiple cases, such as undoing a "Rasterize
filters" action, but also with a "Layer to Image Size" being undone, and
probably any other undo cases.
In particular here the culprit was that upon undoing, we were setting
the GimpApplicator's "gimp:compose-crop" node, while it was a "gegl:nop"
before. We must be careful not to set a crop unexpectedly when the node
was not set already, explicitly.
This is a useful debugging function for developers. It is enough to hide
the menu by default on stable releases, I don't think we also need to
hide the CLI option. Developers don't know all these options by heart,
so we need to make them reasonably discoverable!
If the config object is NULL, we later face crashes! My guess is that we
had only been testing editing custom ops, but not creating them from
public API!
This commit updates the hint in the keyboard shortcuts dialog to provide
more detailed instructions on how to edit shortcut keys. The hint now
explains that users need to click on the "Shortcut" column of the corresponding
row to type a new accelerator or press backspace to clear it.
See: https://gitlab.gnome.org/Teams/GIMP/Design/gimp-ux/-/issues/594
There still some fixes to do but this is a needed and good start.
We need GIMP building with MSVC on CI to avoid regressions on
this already hard work.
Checking for valid font files thourgh harfbuzz or freetype (as it's done currently)
is slow, to speed up font loading a but, a less robust but faster check is done, which
is just reading and checking the first 4 bytes of every font file.
This commit enables GimpBrowser to emit the "stop-search" signal,
originally emitted only by the internal GtkSearchEntry.
It also connects this signal to all widgets embedding a GimpBrowser,
so they can intercept it and close themselves.
This restores the behaviour that existed before the GtkSearchEntry update
In particular make it also work with the `gimp-console` and with all
symlink names.
Also rename the bash completion file using the full application version
so that it will be possible to install several such completion files
side by side.
This fixes:
> […]/gimp/etc/meson.build:31:39: ERROR: dependency.get_variable got unknown keyword arguments "define_variable"
This MR was years-old. Maybe this option got renamed since that time.
Resolves#15418
Destructive tools can not be used on non-raster layers
(vector, text, link). However, the Crop Tool is only destructive
when "Delete Pixels" option is enabled - otherwise it just crops
the canvas size. This patch toggles the GimpTool classes'
"is_destructive" setting based on the value of "Delete Pixels".