Resolves issue #12252
Unlike the layer and image commands for scale layers,
the Transform Tools use gimp_item_transform () rather than
GimpDrawable's scale/rotate code. Therefore, the filter's crop
was not being refreshed, resulting in the layer being cut off
after the transform.
This patch moves the gimp_drawable_filter_refresh_crop ()
code to gimp_item_transform () so that the new layer size
is taken into account in the filter.
027013c7 was fine but not good enough. Without this new commit,
if you stop the script after touching the Inno lang files and run
the script again it would not restore the patched lang files so
patch over patch, producing something like "GIMP 3.0.0 3.0.0".
So, this new commit identifies if the script wasn't completed and
repair Inno installation before applying the patches again.
Resolves#12403
gimp_filter_tool_set_transform_grid () is used to draw the on-canvas
transform grid for filters. It always assumes that the tool's selected
layer should be used to define these boundaries.
With NDE filters, you might be editing a filter on a different layer than
the actively selected one. This patch checks if an existing filter is being
edited, and if so, we grab the drawable from the filter rather than from
the tool.
In gimp_file_save (), we clear out the values
of any String parameters to prevent unexpected
results. However, GimpChoice is also a
String type. This causes the function to
fail because empty string is not a valid
option for GimpChoice.
This patch adds a prior check if the argument
is a GimpChoice, and sets it to its default
value instead to prevent this issue.
- Do not install Inno if it is already updated
- Delete unofficial langs after creating the .exe installer
- Ensure that all .isl files are kept as before the patching
This is an attempt to fix#12333 where from the look of the trace, the
segfault may happen if it tries to dereference a NULL view->priv->shell
whereas we have a view->priv->cursor_image. Even though I couldn't
reproduce, I'm wondering if it may possible to have no active image
display while the cursor is indeed hovering an image.
Furthermore this updated code is more logical anyway, because we should
use the "show all" value from the actual display shell the cursor is
hovering, not from the active display shell.
The welcome dialog creates a link to the release notes for stable
versions, but it also uses it for RC releases even if the
release notes for the final release haven't been written.
Check the version for "RC" to avoid creating dead links.
When we converted to GeglColor arrays in 6327d1b3, we
didn't adjust the call to gimp_gradient_select_preview_draw ()
that still assumed we passed in 4 doubles per pixel instead
of 1 GeglColor. This patch removes the division operation so
that we see the full gradient in the chooser button.
This replaces the GIMP_RGB_LUMINANCE () macro with
babl_process () to retrieve luminance from pixels
in GimpHistogram. This allows us to consider the
color space during the conversion, rather than assuming
sRGB always.
Resolves issue #12365
Per Kamil Burda, since we no longer have an array length parameter
for layer and channel procedures, the required minimum size of
procedure->num_args should be 3 and not 4.
...when drawable has alpha channel.
We always created GeglSamplers in RGB format,
but used the original drawable's format to create a
GeglBuffer. If the original drawable had an alpha
channel, this caused "glitchy" results since not
enough data would be copied into the new buffer.
This patch resolves the issue by making the format
match the original drawable's number of channels.
Resolves Issue #12362.
This was broken, see #12119. Now is fully bundled with DLLs and config, but
will not work on .exe installer because gegl have bugs: GNOME/gegl#394.
However, this should be bundled only in dev releases (due to "Debug" menu).
But not for 32-bit because MSYS2 doesn't provide 32-bit pango plugin for dot.
Fixes: #12351
In short, some time ago we were asked by a MSYS2 guy about the possibility of
they dropping pixbuf loaders and some of us said that we just need SVG/PNG for
UI. I tested and confirmed it so the debloating (c808d13b) kept only these two.
However, seems that was said in the same discussion that we also need others for
non-PAT pattern loading. After testing, let's bundle JPEG, GIF and TIFF loaders
following: https://testing.docs.gimp.org/3.0/en/gimp-concepts-patterns.html
BMP is already bundled for legacy clipboard (a4671d72) and will work here too.
PNG too, of course, otherwise GIMP UI wouldn't even load, as pointed above.
---
Other formats are supported by pixbuf but some can make patterns: unportable,
e.g. HEIC (my ponderation); or even buggy, e.g. WEBP (@ok ponderation). So,
let's NOT bundle all loaders like before the debloating, just the safe ones.
This finally makes our crossbuild scripts work like in all other platforms:
with GIMP_PREFIX separated from the system/MSYS2 prefix. Thanks, @Jehan.
For some reason this makes meson don't find only 'bzip2' headers provided by
the cross compiler so, in crossbuilds, let's use the ones provided by MSYS2.
Fixes: #4802 and #12148
This is needed to paste some images sent to Windows clipboard as .bmp.
---
Also, comment the reason to bundle the other loaders and the gio folder.
Since GimpUnit is now an object, if it's used in functions while
NULL it can cause issues. This patch initializes it to
gimp_unit_pixel () to remove the CRITICALs we received when
setting up rulers when "Show All" is enabled.