Commit Graph

45192 Commits

Author SHA1 Message Date
5745413399 Update Swedish translation 2023-02-21 00:15:45 +00:00
6e75bbfe05 Update German translation 2023-02-20 22:32:40 +00:00
c24ffb2376 Update Danish translation 2023-02-20 16:56:30 +00:00
6adf574513 app: don't draw the drop zone, just nothing when converting. 2023-02-19 18:53:42 +01:00
de25be9210 app: fix a crash when converting to higher precision.
gimp_display_shell_render() writes to a GeglBuffer backed by allocated memory
(shell->profile_data). Unfortunately while converting prevision in
gimp_image_convert_precision(), we change the "precision" property (hence the
source format) first, hence end up trying to write data in a too small buffer.
This crash was hard to find as it was not showing up on my machine (though it
did produce rendering artifacts!), unless I built both GIMP and babl with
`b_sanitize=address`.

Note that an alternate fix was to make sure that the profile_data buffer is big
enough (by calling gimp_display_shell_profile_update() before rendering), but
anyway the image is in an inconsistent state while conversion is in progress:
whereas the `src_format` is the new one, the `src_profile` is still the old one
(and cannot be changed before we finish converting).

Moreover the render happen regularly on progress signals, once after each
converted drawable. So each of these rendering step happens in an inconsistent
state, with the wrong profile set, some of the drawables converted and others
not yet.
We could still render properly if each drawable's buffer used space-aware format
(thus allowing different drawables to use different profiles/spaces), but it
feels over-engineering the problem. It might be much better to ignore rendering
steps while converting the image precision. Moreover it would obviously make a
faster conversion.

See discussions in #9136 for this crash, which didn't have dedicated report
AFAIK.
2023-02-19 18:30:18 +01:00
1022dcbcd2 Update Swedish translation 2023-02-18 13:04:12 +00:00
30a1732def Update Swedish translation 2023-02-18 12:55:40 +00:00
e1b10454a7 Update Polish translation 2023-02-18 11:50:14 +01:00
a052afbb50 NEWS: update. 2023-02-16 23:15:32 +01:00
bddcd5c268 Issue #9147: freeze when switching from multi-window to single window mode.
Don't keep bindings to still existing objects. We were ending up in some ugly
infinite looping.
2023-02-16 22:21:03 +01:00
a86560bb57 app: fix global-buffer-overflow in "gimp:dissolve" implementation.
In case of negative y in the region to process, we were accessing invalid memory
(negative array index).

I hesitated between make so that a given ordinate always use the same index or
if we just want the start ordinate (whatever it is) to use index 0. The later
could have just been `(y - result->y) % RANDOM_TABLE_SIZE`.

I just decided to keep the existing logic (former case) though to be fair, not
sure it matters much.
2023-02-16 17:01:53 +01:00
02a8e8ae41 Update Ukrainian translation 2023-02-16 13:40:35 +00:00
5c1863bf92 Update Slovenian translation 2023-02-15 22:12:43 +00:00
66c7fe1f8a Update Slovenian translation 2023-02-15 22:07:52 +00:00
fcdf03ee23 Update Swedish translation 2023-02-15 11:53:33 +00:00
41f40f530a plug-ins: option to choose whether loading a PDF with white background.
While at first, the idea of always loading PDF with transparency seemed good
(commit 7aff7e9c70), I realized that a lot of administrative PDF (generated with
text and vector graphics, rather than scans or alike containing raster) actually
have transparency. So now all these documents load with transparent background.
Clearly all the office software are assuming that PDF readers will fill the
background with white.

So add a checkbox to decide whether or not to fill the image with white. I don't
update the PDB procedure. I'll just do this on the main dev branch (while also
updating a bit the code to newer API).

Fortunately I regularly open such PDF documents with GIMP and could witness this
no-transparency expectation before we released GIMP 2.10.34! 😅
2023-02-14 23:59:44 +01:00
4c61ea6ebf Update Turkish translation 2023-02-14 21:26:03 +00:00
7adc4b682a Update Turkish translation 2023-02-14 21:21:58 +00:00
e7786d2e94 Update Turkish translation 2023-02-14 21:21:50 +00:00
3f4c279276 plug-ins: disable magics detection for Windows CUR and ICO files
The magics used for detection for CUR and ICO are not very unique and
interfere with the detection of certain types of TGA images.
Since these TGA images are regularly used, it seems better to only base
CUR and ICO detection on the extension, just as we do with TGA version 1
files.

See also issue #7912
2023-02-14 15:36:13 -05:00
3e93779172 plug-ins: fix #9067 TGA files saved by Krita can't be opened
Krita had a bug where it incorrectly saved 4 for the alpha bits instead of
8. We will allow 4 and convert that to 8 to be able to read the incorrect
TGA images.

The likelyhood of real TGA images with 4 alphabits seems pretty low, so it
should not interfere with real images that have this set. We were not
supporting that anyway.

(cherry picked from commit 5f9415a641)
2023-02-14 15:16:55 -05:00
34c43b7042 Update Ukrainian translation 2023-02-14 18:10:05 +00:00
d27f8a4e96 Update Swedish translation 2023-02-14 16:38:28 +00:00
517db53964 NEWS: update.
Added the 2 new PDB functions. I should not have added these so close to release
(because these add 2 translatable strings for undo), but anyway the added
strings are barely GUI-facing as these functions are for plug-in developers.

And I really wanted to finally review these MRs which have been sitting there
for months. Sorry translators!
2023-02-14 17:25:52 +01:00
66ef1ef1ef app, libgimp, pdb: minor fixes.
- fix a typo s/Commponent/Component/.
- Add &std_pdb_compat() to the new PDB procedures (I realize that's probably
  what the contributor was asking about, back in !446). Not sure if it's right
  as there were none in this file, but these are clearly just wrappers around
  GEGL ops, so it seems fitting.
- Some alignment fixes.
- More accurate "$since" variables.
2023-02-14 17:12:31 +01:00
c0a3582109 app: generated file (cf. previous commit). 2023-02-14 14:23:38 +01:00
dbf9f277a2 pdb: add a PDB procedure for extract-component 2023-02-14 10:36:19 +00:00
1905197983 Update Slovenian translation 2023-02-14 00:17:37 +00:00
7d6c5cc4de Update Danish translation 2023-02-13 18:33:26 +00:00
b19b8238b3 Update Danish translation 2023-02-13 17:48:45 +00:00
57ee6e13ab Fix file extension issue when "Saving As..." for guillotine
Original issue: #8581

1. When an image with a non-xcf format is loaded, within GIMP core it
qualifies as an imported file. (See gimp_image_get_imported_file
function)

2. But the guillotine plugin cannot propagate this information.
It can only set the file path on the new image it creates, and it uses the file extension of the original imported file.

3. But since the filename is set by the plugin is the actual filename not imported filename,
the gimpsavedialog.c module cannot differentiate it. This results in the
incorrect file extension being set in the "gimp_save_dialog_set_image"
function.

This issue can actually be present in other plugins as well that
generate new images which has to be checked.
2023-02-13 16:21:14 +00:00
da1c7574d8 Update Ukrainian translation 2023-02-13 15:33:07 +00:00
648a44cf98 Update Ukrainian translation 2023-02-13 15:31:16 +00:00
53f095160a Update Swedish translation 2023-02-13 15:08:28 +00:00
e456ab019b app, libgimp, pdb: fixing generated code and wrong GEGL op arguments.
This commit is a fixup commit for MR !790 which had a few issues:

- The args for shadows and highlights adjustments are "shadows-ccorrect" and
  "highlights-ccorrect" respectively.
- Also fixing generated code.
2023-02-13 14:21:16 +01:00
0b96363e10 pdb: add a PDB procedure for shadows-highlights 2023-02-13 13:16:38 +00:00
57d04e0e26 plug-ins: Fix CRITICAL message in Python console
This implements the full fix to the problem noted in the prior commit.
While it no longer crasheed when applying a function after clearing the
console, Jehan reported it still showed a CRITICAL message. This should
fix it the same as the 2.99 branch.
2023-02-13 12:55:40 +00:00
3fbb96c36b plug-ins: Fix Python console crash after clear
GTK2 get_iter_at_line_offset() does not allow invalid offsets unlike
GTK3 version. Clearing the console creates an invalid iter due to an
empty buffer.

This patch attempts to resolve it by adding a ">>> " output when the
console is cleared, thus preventing the invalid iter issue.
2023-02-13 11:43:12 +00:00
a902576864 gitlab-ci: do not allow failure for the distcheck.
This was making the CI issue much less visible, and distcheck is definitely
needed for releases.
2023-02-12 23:49:32 +01:00
d8faa6d21c Revert "libgimpwidgets: fix def file."
This reverts commit 13284c8953.

Actually I should not have backported this change from the `master` branch.
These functions are still public in 2.10 (and internal in the main branch).

This should fix our CI.
2023-02-12 23:49:23 +01:00
0aa087c8f9 NEWS: update. 2023-02-12 16:04:23 +01:00
d78e1a7878 Update Polish translation 2023-02-12 13:17:22 +01:00
aacd3d4640 Issue #8666: Color profile conversion is broken.
A bug in babl would run the color conversion twice when the input and output
buffer is the same and a LUT is available for the color transform. This is a
workaround in GIMP code (especially because we still don't require the latest
babl version), though a real bug fix will soon happen too in babl itself as
well.
2023-02-12 12:52:29 +01:00
6d190931c8 Update Swedish translation 2023-02-12 11:22:41 +00:00
4a56ddc050 Update Slovenian translation 2023-02-12 10:08:40 +00:00
7ba4512d26 Update Slovenian translation 2023-02-12 10:07:11 +00:00
6c901c1641 plug-ins: Make PDF background color fill optional
This adds a checkbox to single and multi-page PDF export to not fill
transparency with the background color
(which currently happens automatically)
2023-02-11 23:26:20 -05:00
13284c8953 libgimpwidgets: fix def file.
The defcheck.py file finds these errors:

> Problem found in /home/jehan/dev/src/gimp/libgimpwidgets/gimpwidgets.def
>   the following symbols are listed in the .def-file,
>   but are not exported by the library.
>      - gimp_color_picker_cursors_get_resource
>      - gimp_icon_pixbufs_get_resource

Indeed these don't exist. Unsure why the autootols check failed to
report these until today.

(cherry picked from commit 01e87819ce)
2023-02-10 23:39:31 +01:00
7aff7e9c70 plug-ins: load PDF without filling the background to white.
Some PDF have transparency on purpose. Filling with white, without any question,
is counter-productive and prevents from working on such PDF files.

Note that we could add an option with a checkbox, leaving one to decide whether
to fill the background or not. But it feels over-engineering the issue. The PDF
is transparent, so that's what we load, and that's it. If one wants to add a
background, it's easy to add a layer at the bottom of the stack (and they can
make it any color they want, not just white), after loading the file.

(cherry picked from commit c369827725)
2023-02-10 20:40:28 +01:00
691b996be4 plug-ins: fix a crash in tiff_io_error().
I had a TIFF file which would crash while triggering an error, inside g_logv()
code (and according to the stacktrace, even probably inside some lower level
printf implementation code).

The reason was that I already processed the variable list with
g_strdup_vprintf() and printf didn't like this va_list being reused, then
segfaulted with some "Cannot access memory at address" error.

The alternate fix was to first copy the va_list in the first use with
va_copy()/G_VA_COPY, yet since we already processed the format data, I thought
it was useless to do this. Let's just directly use the formatted string.

(cherry picked from commit fb1f16d4b8)
2023-02-10 20:35:08 +01:00