Commit Graph

44773 Commits

Author SHA1 Message Date
3946710923 Update Latvian translation 2021-11-08 19:45:50 +00:00
4c2719b430 Update Spanish translation 2021-11-06 18:18:00 +00:00
dd79d2aa73 Update Latvian translation 2021-11-04 19:30:47 +00:00
fd113de4bc Update Latvian translation 2021-11-04 19:03:29 +00:00
a0c19f22d6 Update Latvian translation 2021-11-04 18:57:56 +00:00
72c5bec0ce Update Latvian translation 2021-11-04 09:57:02 +00:00
347bb5067d libgimpbase: fix #7383 GIMP loses exif data when a folder has Hebrew letters
On Windows when exporting an image saving the exif and other metadata fails
if the path or filename includes non ASCII characters.
Reason is that gexiv2 changed to using utf-8.

In the past we had to convert the filename to current locale on Windows,
but since it now also expects utf-8 there, just remove the special
handling of filename there.

(cherry picked from commit 8e1f982945)
2021-11-02 12:07:11 -04:00
1948f1f474 Update Polish translation 2021-10-31 10:55:08 +01:00
a2e520bf22 plug-ins: fix memory leak in HEIF import/export 2021-10-29 12:00:00 +00:00
6f13c5b21f plug-ins: fix incorrect loading of CMYK PSD images without layers.
PSD images using CMYK as color mode and without layers didn't load
correctly (wrong colors).
When a PSD does not have any layers, CMYK color mode was not converted to
RGB.
Note that PSD color images that do have layers (e.g. CMYK and LAB) store
the merged image as RGB!
To do all this we added a conversion for CMYK PSD with 0 layers and added
code to correctly determine whether an alpha channel exists.
This also fixes the case where loading the merged image of a 16 bit per
channel RGBA psd loads with the alpha channel opaque.

(cherry picked from commit b7518195b5)
2021-10-27 19:18:38 -04:00
cfaf761ed9 Update Portuguese translation 2021-10-27 15:19:14 +00:00
ce41642ddd plug-ins: fix incorrect CMYK transform for the variant without alpha
Probably due to a copy-paste error the case without alpha was also using
the img->cmyk_transform_alpha instead of img->cmyk_transform.

(cherry picked from commit 5115021eac)
2021-10-26 18:05:34 -04:00
7ebff6ed28 plug-ins: fix #7429 Error loading PSD file: Unsupported or invalid layer mask height
Our psd plug-in checks for valid layer mask sizes. Apparently a psd
layer mask where the rendered flag is set can have invalid dimensions
0, 0, 0, -1.
We will skip the sanity checks for rendered layers and at the same time
move the debug statements up to have relevant debug info available even
if our sanity checks stop further processing.

(cherry picked from commit b27bf5caa9)
2021-10-26 12:29:52 -04:00
caa91ac051 Update Ukrainian translation 2021-10-26 06:51:21 +00:00
5d57183b7a Update Catalan translation 2021-10-25 22:50:08 +02:00
c35f6605e6 Update Swedish translation 2021-10-25 18:35:21 +00:00
1d44b45f09 plug-ins: prefer AOM encoder for AVIF export
Name of the used encoder is printed during export,
It can be: aom, rav1e, x265
2021-10-25 15:52:30 +00:00
398dbbe01b plug-ins: fix several issues detected by coverity
Detected issues fixed here:
- Use GString and g_string_append since otherwise we need to add g_free
after every g_strconcat.
- No error checking.
- We need to g_free value_utf.

Not detected by coverity:
- Wrong quotes around utf-8.
- Remove unused includes.

(cherry picked from commit 641080c838)
2021-10-24 22:17:32 -04:00
9cfaf37c75 plug-ins: fix resource leaks detected by coverity
Several resource leaks here were detected by coverity:
- Not freeing value_utf.
- Strings returned by g_strconcat should be g_free'd. To handle the string
concatenations easier we use GString and g_string_append instead.
Also introduce function get_list_elements to reduce the number of
repetetive elements.
While we were at it, also remove unused includes.

(cherry picked from commit e90f041ca5)
2021-10-24 22:17:15 -04:00
a9867d020a plug-ins: fix #7408 metadata-editor plugin cashing when saving metadata
When writing metadata in the metadata-editor it did not check for empty
values. In combination with gexiv2 0.14.0 (which doesn't check in this
specific case for an empty list of gchar **) and trying to set a non
repeatable Iptc tag (Iptc.Application2.Headline) using
gexiv2_metadata_set_tag_multiple we get a crash.

This fix checks first for a non empty value before trying to save the
metadata tag.
Since the code is very similar also implemented this check for the Xmp
tags in addition to the Iptc and simplified some duplicate code.

(cherry picked from commit 6eba73e714)
2021-10-24 13:45:41 -04:00
3ed924d731 plug-ins: Iptc.Application2.Headline is not a repeatable tag
See issue #7408 where this is causing a crash when using gexiv 0.14.0
in combination with trying to save it as a multiple tag with an empty list.
According to https://exiv2.org/iptc.html the tag Iptc.Application2.Headline
is not repeatable so we will set mode to "single.

In addition to that I added comments to explain the differences in the
meaning of "single" and "multi" between the list of Xmp tags and Iptc tags.

(cherry picked from commit b070c6fba6)
2021-10-24 13:45:30 -04:00
6be014fc59 app: replace using the "draw" signal by "expose-event" on GTK+2.
Not sure why but adding a handler to the "expose-event" signal of
GimpDisplayShell (similarly to how we do it in master branch on "draw")
just didn't work. But it works on the already existing signal handling
on the canvas instead (which actually is not a bad deal, as we also
remove the coordinates translation so maybe we should test this on
`master` too).

Note: why we are backporting all this logics to gimp-2-10 is because
changes in macOS BigSur broke the selection's marching ants the same way
they broke on Wayland and it was confirmed this fix worked for BigSur as
well, at least on the dev builds.
It is unnecessary to backport for Wayland (because GIMP 2.10 is based on
GTK2 which anyway works only through XWayland, hence doesn't have the
issue), we do it only for macOS BigSur (and further). Well at least the
fix will hopefully work on the stable branch, because I cannot test
myself.

See issue #5952.
2021-10-22 23:22:39 +02:00
16adb3bf3d app: replace gtk_widget_queue_draw_region() with…
gtk_widget_queue_draw_area().

gtk_widget_queue_draw_region() has been introduced in GTK 3.0.
2021-10-22 23:15:40 +02:00
71b23da329 app: add back a timeout-based idle function to queue a canvas redraw.
I'm still very unclear why exactly but it would seem that just queuing
the redraw with an idle function is not enough. At least on Windows,
Jacob was having cases where opening an image would get stuck unless the
mouse was moved (causing draw events most likely).

So let's use a timeout function instead. Probably no need to queue the
idle followed by the timeout function as we had before commit
4fee04b839. Instead just directly queue a draw if relevant, then run the
timeout at regular interval (marching ants speed).

(cherry picked from commit 668c9de5a5)
2021-10-22 23:15:40 +02:00
9314ba7051 app: check the time before last selection draw before queuing a redraw.
This way, we would queue a lot less canvas region unnecessary redraws.
We still remake the time-before-last-draw check in the draw() signal
handling before we want to update the marching ants index for draw
events coming for other reasons (canvas updates, moving/zooming on
canvas, exposition changes, etc.).

(cherry picked from commit 6466d46052)
2021-10-22 23:15:40 +02:00
73b40f4183 app: fix selection display on right/bottom borders when rulers are…
… displayed.

We should use the dimensions from the GimpDisplayShell not the the
GimpCanvas. Indeed the canvas is shorter when rulers are visible, hence
the selection next to the extreme sides (bottom and right sides of the
canvas) was not drawn.

(cherry picked from commit e8a531e51e)
2021-10-22 23:15:40 +02:00
c3b35fd601 Issue #5640: Selection tools not showing selection on Wayland.
As suggested in a comment (itself coming from an IRC discussion), we
should not use gdk_window_(begin|end)_draw_frame() functions as this
works on X, but not on Wayland anymore. Instead draw directly during
draw() call of the shell widget, and force it to happen regularly, to
update the marching ants, via gtk_widget_queue_draw_region().

This is tested and works on Wayland. Please everyone, test thoroughly to
make sure it works well in all situations, and also that we don't get
any unexpected slowdowns.

Since the symptoms are very similar, it is highly possible that it also
fixes the issue #5952 too, for selection not showing on macOS since Big
Sur 11 (maybe they changed the same way as Wayland did). Unfortunately I
can't check this myself. Please test, whoever has access to a macOS Big
Sur and can build GIMP!

(cherry picked from commit 4fee04b839)
2021-10-22 23:15:40 +02:00
81666bf01d NEWS: update. 2021-10-22 13:01:48 +02:00
a08055f1a1 Issue #6210: Subpixel font rendering system settings should only…
… apply to GIMP GUI not text layer rendering in image.

Reviewer note: this is the theoretical fix, but it won't work right now
because Cairo explicitly bypasses grayscale antialiasing when system set
subpixel one. Still let's push this first patch, but the issue will be
actually fixed when Cairo will merge my MR too:
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/114

(cherry picked from commit 00bbeabaf4)
2021-10-22 12:49:43 +02:00
6adeb69be8 Update British English translation 2021-10-21 19:58:07 +00:00
2010a8a1e8 Installer: associate .avif extension 2021-10-20 15:38:34 +02:00
9b7889e4de Update Brazilian Portuguese translation 2021-10-11 21:02:01 +00:00
415f9e6bef Updated Italian translation 2021-10-11 13:17:14 +02:00
dc5379cf72 Update Finnish translation 2021-10-11 06:21:37 +00:00
b05caa5f24 Update Portuguese translation 2021-10-07 20:34:30 +00:00
40bff1b0a1 Update Portuguese translation 2021-10-07 20:29:30 +00:00
dfc7a7692d Update Portuguese translation 2021-10-07 20:24:55 +00:00
88888e0e3a Update Portuguese translation 2021-10-07 20:19:08 +00:00
b782bd884e Update Portuguese translation 2021-10-07 20:08:40 +00:00
1e8ad391a3 Update Spanish translation 2021-10-07 14:00:04 +00:00
b79175889f Update Polish translation 2021-10-03 13:28:53 +02:00
0b7e5802c8 Update Portuguese translation 2021-10-01 13:08:16 +00:00
86eed9d066 Add Portuguese translation 2021-10-01 13:01:05 +00:00
9c3fb1953e Update Slovenian translation 2021-10-01 12:19:20 +00:00
7515642c71 Update Swedish translation 2021-09-28 20:22:01 +00:00
a481b373ce Update Ukrainian translation 2021-09-28 14:16:21 +00:00
583734fe7f Remove unnecessary space at the end of the string
(cherry picked from commit 6aaa017d34)
2021-09-28 12:44:20 +02:00
104a5babf5 NEWS: update. 2021-09-28 12:17:42 +02:00
a2335962ee plug-ins: fix saving of XMP BAG/SEQ array values in metadata-editor
XMP array tags of type BAG and SEQ can have multiple values, each of
which is on a separate line. However, we were reading and saving it as
just one value.

We change this by setting each line as a separate value with
gexiv2_metadata_set_tag_multiple.

In addition to that we found that setting the type of tag struct with
gexiv2_metadata_set_xmp_tag_struct caused arrays of multiple values per
tag to be set incorrectly: the last value in the list got added multiple
times. I'm not sure if we are using this function incorrectly, or that
there is a bug in gexiv2 or exiv2. Anyway, since it seems that all tags
and values I tested work without calling this function, let's just omit
this call.

(cherry picked from commit a4cb134f14)
2021-09-25 15:34:26 -04:00
dd830db34b plug-ins: improve loading of XMP BAG/SEQ tags in metadata-editor
XMP array tags of type BAG and SEQ can have multiple values, each of these
values needs to be on a separate line to be correctly recognized as a
different value in the tag array. We were incorrectly loading all values
on one line separated by a comma.
For those tags that have equivalent IPTC tags we were also comparing just
the one XMP value with the whole, possibly multiple lines, of the same
IPTC, which could cause a failure to recognize identical tags.

We changed this to now have each value in a tag array on a separate line
by adding \n between values.
Each IPTC equivalent tag value is now compared to each value in the XMP
tag array and only added when a different value is found.

(cherry picked from commit 76dc649b3f)
2021-09-25 15:34:11 -04:00