Commit Graph

49459 Commits

Author SHA1 Message Date
Sveinn í Felli 2c533abe9f Update Icelandic translation 2023-03-01 11:35:14 +00:00
Sveinn í Felli 4804d69fdb Update Icelandic translation 2023-03-01 10:17:54 +00:00
Jordi Mas 32a92f76fd Update Catalan translation 2023-02-28 22:19:20 +01:00
Sveinn í Felli ad073dedda Update Icelandic translation 2023-02-28 18:43:44 +00:00
Sveinn í Felli 82826f2a30 Update Icelandic translation 2023-02-28 18:33:04 +00:00
Alx Sa dbaea2ac50 core: Fix CSS palette import regex
GIMP expects CSS palettes to end with a ";" when importing. However,
GIMP exports CSS lines without ";". This means GIMP can't reopen its
own exported CSS palettes.
The ";" was removed from the regex since CSS2 does not require
the last line to end with a ";". However, CSS3 and above
require ending all lines with a ";", so it is added to the
export script.
2023-02-28 16:00:03 +00:00
Sveinn í Felli 340edf4f1e Update Icelandic translation 2023-02-28 14:08:56 +00:00
Sveinn í Felli f852b8e572 Update Icelandic translation 2023-02-28 13:18:35 +00:00
Alexander Shopov 1f46063e52 Add Bulgarian translation 2023-02-27 21:49:42 +00:00
Alexander Shopov c25bcf4ca4 Add Bulgarian translation 2023-02-27 21:47:27 +00:00
Daniel Novomeský 359ce849bc Fix flatpak release info about JPEG XL
(cherry picked from commit d8566241a0)
2023-02-27 01:47:17 +01:00
Tim Sabsch 1fd4b270e2 Update German translation 2023-02-25 21:16:30 +00:00
Michael Schumacher c689c41841 gitlab-ci: Install dependencies for ASCII art and PostScript plug-ins. 2023-02-25 11:09:22 +01:00
Michael Schumacher 39f4029bfc gitlab-ci: python3-zstandard is a Debian package. pip3 requires a venv to install packages now. 2023-02-25 10:47:50 +01:00
Michael Schumacher 1f3a2475fc gitlab-ci: gi-docgen is a Debian package, installing it through pip3 seems to fail on some runners 2023-02-25 10:37:55 +01:00
Tim Sabsch 24ecaf3f34 Update German translation 2023-02-24 21:37:39 +00:00
Alx Sa 3df39dee91 plug-ins: Re-add toggle behavior from GAction port
When porting IFS-Compose and GFig to GAction, I originally created
all icons as GtkToolButtons. However, the toggle buttons no longer 
appeared "pressed in" when selected.

This is fixed by creating those as GtkToggleToolButtons instead.
A lingering UIManager object was removed from IFS Compose as well.
2023-02-24 03:25:08 +00:00
Jehan 2167ff98fb desktop: update AppStream metadata release date.
(cherry picked from commit c4efe45cab)
2023-02-22 14:04:15 +01:00
Jehan 9c15a2055f desktop: new <release> tag for GIMP 2.10.34.
See #9136.

(cherry picked from commit 0cd38a87e1)

Note: when cherry-picking, the tags were fixed as the main dev branch does not
need the underlined tags for localization anymore.
2023-02-22 14:04:08 +01:00
Jehan 220f0948f7 libgimp: (meson) disable GIR building when a sanitizer is set.
Similar to the change in autotools, a few commits before.
2023-02-22 13:42:59 +01:00
Jehan 87bda8879b libgimp: fix leak.
Discovered by running with sanitize=address.
2023-02-22 13:28:07 +01:00
Jehan ee92210dde app: fix an unused variable warning. 2023-02-22 12:46:56 +01:00
Jehan 36cc6c6e8a configure, libgimp: disable introspection when building libgimp with sanitizer.
The initial issue was that 3 leaks were detected when running the "DumpCompiler"
during g-ir-scanner phase. The failing command was apparently about running some
temp binary, which looks like would be called the DumpCompiler in g-ir-scanner
code:

> libgimp/tmp-introspectn8jg64to/Gimp-3.0 --introspect-dump=libgimp/tmp-introspectn8jg64to/functions.txt,libgimp/tmp-introspectn8jg64to/dump.xml

My first fix attempt was to try and play with build/link FLAGS so that this temp
binary is built without sanitizer. But the problem when I did this was that
libgimp itself is sanitized, so we are mixing a sanitized lib with a
non-sanitized binary:

> ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.

So it looks like I could still solve this with tweaking LD_PRELOAD, cf. this
sanitizer FAQ: https://github.com/google/sanitizers/wiki/AddressSanitizer#faq

Nevertheless it proved complex to do it right while not interfering with other
parts of the build and I found out that I risk encountering more issues down the
road with GIR + sanitizer:
https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/375

So I've decided that I didn't want to waste too much time on this and simply
disable introspection when sanitizing, as I guess what we care the most to
diagnose when sanitizing is core code anyway.
2023-02-22 12:23:26 +01:00
Jehan 0b75fbd91c tools: do not sanitize build tools. It's OK if they leak a bit.
Especially as our code does not actually leak as far as we can see. It looks
like librsvg might not play well with -fsanitize=address (possibly having real
leaks or false positives).
2023-02-22 10:57:36 +01:00
dimspingos e0f070a649 Update Greek translation 2023-02-22 10:01:06 +02:00
Alexander Shopov 2616df0921 Update Bulgarian translation 2023-02-21 10:27:03 +00:00
dimspingos 07516e2c4d Update Greek translation 2023-02-21 12:21:53 +02:00
dimspingos 0d14b0bca7 Update Greek translation 2023-02-20 13:06:35 +02:00
Jehan 577d803bd4 app: don't draw the drop zone, just nothing when converting.
(cherry picked from commit 6adf574513)
2023-02-19 18:54:46 +01:00
Jehan aab73ae3a4 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.

(cherry picked from commit de25be9210)

Note: on the `master` branch, even with sanitized code, I don't get the crash.
Yet this change seems relevant enough that I'm adding it.
2023-02-19 18:46:31 +01:00
Jacob Boerema ba9ceae7d7 Revert "Upload New File"
This reverts commit 2023e4c6ca.
2023-02-18 18:40:42 -05:00
dimspingos 9f2942fec9 Updated Greek translation 2023-02-18 21:12:47 +02:00
Dimitris Spingos 2023e4c6ca Upload New File 2023-02-18 13:14:10 +00:00
Piotr Drąg 34f8a20e5f Update Polish translation 2023-02-18 11:50:27 +01:00
Alexander Shopov adde450fb7 Update Bulgarian translation 2023-02-18 07:47:21 +00:00
Martin 641679cd31 Update Slovenian translation 2023-02-17 20:13:50 +00:00
Ekaterine Papava 4acaca633a Update Georgian translation 2023-02-17 05:02:37 +00:00
Jehan d5f845e35a 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.

(cherry picked from commit bddcd5c268)
2023-02-16 22:26:17 +01:00
Jehan 18c21abf0c libgimp: fix a memory leak.
Discovered while playing with b_sanitize=address flag.
2023-02-16 20:59:33 +01:00
Jehan 7f29543895 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.

(cherry picked from commit a86560bb57)
2023-02-16 20:31:41 +01:00
Jehan 31672ee340 tools: avoid build-only tool with memory issues. to break the whole build.
Cf. the previous commit: colorsvg2png has a memory leak in librsvg (so we can't
fix it easily). In any case, it's just a one-time-use tool, we don't really need
to focus on its memory bugs as long as it does its job to make icons.
2023-02-16 20:07:41 +01:00
Jehan 8e32da9889 tools: better memory handling in colorsvg2png.
Actually even with this, b_sanitize=address still detects a memory leak. After
some testing, it seems that just creating a RsvgHandle, then freeing it
immediately is enough to leak some data, which means the leak is in librsvg.
2023-02-16 20:07:41 +01:00
Hugo Carvalho 1d5a6a4829 Update Portuguese translation 2023-02-16 18:36:54 +00:00
Yuri Chornoivan 4a2a000924 Update Ukrainian translation 2023-02-16 14:06:56 +00:00
Alx Sa 5102355ac9 plug-ins: Port ImageMap to GAction/GMenuModel
Additionally, the ImageMap-specific icons weren't showing up due to the
filenames not matching the references strings ("imap-polygon" but
the filename was "imagemap-polygon.png"). This patch fixes that by
renaming the strings to match file name.
Partial code style fixes were made as well; a lot more are needed.
2023-02-16 04:16:11 +00:00
Martin 8b204d50ff Update Slovenian translation 2023-02-15 22:09:18 +00:00
Jehan 6a2908ed0b Issue #9151: link to the "Building GIMP" page of dev website in INSTALL. 2023-02-15 12:13:24 +01:00
Sabri Ünal e9270d3d1f Update Turkish translation 2023-02-14 21:25:50 +00:00
Sabri Ünal 2f9d431271 Update Turkish translation 2023-02-14 21:22:04 +00:00
Sabri Ünal 5306c475d3 Update Turkish translation 2023-02-14 21:19:40 +00:00