Commit graph

57472 commits

Author SHA1 Message Date
luming zh
f4d71a874a Update Chinese (China) translation 2026-03-19 02:55:53 +00:00
luming zh
4ca657e728 Update Chinese (China) translation 2026-03-19 02:45:38 +00:00
Alx Sa
5b5a39390a libgimp: Connect ResourceChooser mnemonics to button
While it's possible to set mnemonics on GimpResourceChooser
properties (brushes, gradients, palettes, etc), the accelerator
itself wouldn't work because the label wasn't connected to the
button widget.
The buttons are created externally and connected in
_gimp_resource_chooser_set_clickable (). This patch adds a call
to gtk_label_set_mnemonic_widget () if there is a label, so that
pressing the accelerator key on the label triggers the button
click function.
2026-03-18 23:49:46 +00:00
Bruno Lopes
db36fa3371 gitlab-ci: Remove a remnant of the legacy 32-bit job
This completes 0a8e21c4
2026-03-18 20:27:20 -03:00
Jehan
040fac494e app: do not leak string allocated by g_ascii_strdown(). 2026-03-18 23:36:56 +01:00
Jehan
f4f83b973c app: SwatchBooker support also uses libarchive and has similar bugs! 2026-03-18 23:11:20 +01:00
Jehan
b3eaf3a577 app: better handle error cases for invalid Swatches palette.
My use case was loading a 0-bytes swatches palette. This would crash
GIMP. And so would likely a zip archive suffixed .swatches with no .json
file in it, or a corrupted archive which would return ARCHIVE_FATAL when
attempting to read entries…

This patch fixes these edge cases. It also better handle the various
return values of libarchive. E.g. we should not abandon reading when we
get ARCHIVE_RETRY; and ARCHIVE_WARN is also a success case (despite
having some warning message).

Finally I break from the archive reading loop at the first JSON file, so
that we don't leak memory if there are several JSON file. It does raise
the question if this palette format allows such use case (several
palettes in a single .swatches archive).
2026-03-18 22:41:14 +01:00
Jehan
591518fdb1 app: fix failure to read a Procreate palette with no profiles.
The sample in the description of !2613 was failing to load with a bunch
of criticals. That was because when profiles == NULL, we would call
json_reader_end_member() while we never called the associated
json_reader_read_member(). Inverting the order of tests fix this.
2026-03-18 22:32:31 +01:00
Bruno Lopes
a00a227f54 plug-ins: Comment some unused functions on file-dds
To fix GNU Clang warnings
2026-03-18 18:04:11 -03:00
Bruno Lopes
23a17ee000 plug-ins: Comment unused function on sphere-designer
This fixes a warning from GNU CLang
2026-03-18 18:04:11 -03:00
Bruno Lopes
487ee4f5da plug-ins: Clean unused srcrow and src_bytes variables on warp
It was causing warnings on GNU CLang
2026-03-18 18:04:11 -03:00
Марко Костић
653d61e1cb Update Serbian translation 2026-03-18 20:56:33 +00:00
Марко Костић
7664cc7590 Update Serbian translation 2026-03-18 20:48:54 +00:00
Марко Костић
5ef15ef576 Update Serbian translation 2026-03-18 20:42:07 +00:00
Марко Костић
a08411f1ba Update Serbian translation 2026-03-18 20:29:53 +00:00
Марко Костић
5af6e7d249 Add Serbian translation 2026-03-18 20:02:31 +00:00
Марко Костић
ffb275bf2a Update Serbian translation 2026-03-18 19:49:48 +00:00
Yuri Chornoivan
625106a974 Update Ukrainian translation 2026-03-18 18:52:28 +00:00
Марко Костић
0454a81d23 Update Serbian translation 2026-03-18 18:52:13 +00:00
Yuri Chornoivan
20419baf21 Update Ukrainian translation 2026-03-18 18:44:54 +00:00
Yuri Chornoivan
70ae6af83b Update Ukrainian translation 2026-03-18 18:32:49 +00:00
Jehan
fdda75deb8 app: localize some more strings.
Also give a bit more accurate error message when possible, e.g. when we
may have an error message from libarchive.
2026-03-18 17:57:23 +01:00
Jehan
85ad553b09 plug-ins: localize a string. 2026-03-18 17:18:08 +01:00
Jehan
c837fda1e4 app: localize some error messages.
Also use the proper and more common wording "circular reference".
2026-03-18 17:17:13 +01:00
Jehan
b822a56d10 app: localize "Pressure Curve" instead of breaking into 2 words.
Much easier to localize, and it's actually our only case for input
device axis curve so far. Let's simplify.
2026-03-18 16:34:55 +01:00
Martin
ad30eff447 Update Slovenian translation 2026-03-18 13:06:28 +00:00
luming zh
b1d5bad01a Update Chinese (China) translation 2026-03-18 08:47:27 +00:00
luming zh
d574292d68 Update Chinese (China) translation 2026-03-18 08:29:56 +00:00
Alx Sa
1d6e8a3a9c display: Simplify vector code from 916cf84e
This patch updates the vector layer DnD code to
use gimp_vector_layer_set (), instead of grabbing
the VectorLayerOptions and then FillOptions objects.
2026-03-18 02:48:56 +00:00
Alx Sa
7b09835370 themes: Define GimpColorSelect button margin
Another addition to 9e277c39. The buttons in the
Color dock had incorrect margins, leading to some
buttons sticking out further than others.
This patch gives them a consistent definition of 2px
margins for both Default and System themes.
2026-03-18 02:15:46 +00:00
Bruno Lopes
71c3f29df8 plug-ins: Fix warnings about unused profile_label and cmyk_profile in file-jp2 2026-03-17 22:30:47 -03:00
Bruno Lopes
375bdd7946 build/windows: Fail on warnings on Clang-CL builds for gegl sake
Following 5013aca0

We stll have work to do regarding ctx support but
we are getting there.
2026-03-17 22:23:49 -03:00
Alx Sa
eec9d51236 widgets: Sync filter visibility with toggle button
Resolves #16002

Since the "Toggle All Filter Visibility" button's state
is only updated when the NDE filter popover first
appears, it could get out of sync with the current state
of the filter stack.
(For instance, if you open the popover and turn all the
filters' visibility off, then clicked the button, it would try
to turn them off again)

This patch adds a check for gimp_drawable_has_visible_filters ()
whenever the filter changes, and updates the toggle button
with that value.

This patch also condenses the filter visibility check to use
the existing function rather than its own custom code.
2026-03-18 01:11:18 +00:00
balooii balooii
4026ec4828 Issue #15328: Fix crash with smudge tool and auto expand layers 2026-03-17 22:18:53 +00:00
Sabri Ünal
3a60f800d4 i18n: Mark "Mask image" as translatable
Mark the "Mask image" string as translatable.
2026-03-17 19:10:33 -03:00
Bruno Lopes
50627a445c meson: Restore virtual support to install .pdb generated by GCC
We will not use it since GCC is still broken (59d0e828)
but it is always good to have a complete script.
2026-03-17 18:59:18 -03:00
Yuri Chornoivan
0c49b92da9 Update Ukrainian translation 2026-03-17 21:12:26 +00:00
Martin
be32a75ee9 Update Slovenian translation 2026-03-17 20:02:49 +00:00
Jehan
9a7ec09dab gitlab-ci, build: -Drelocatable renamed as -Drelocatable-bundle and…
… changed into a combo in babl and GEGL.
2026-03-17 20:51:25 +01:00
Alx Sa
ff647fccb0 path, core: Create gimp_vector_layer_set ()
Currently to change vector layer properties,
you need to grab the VectorLayerOptions
and then grab its FillOptions or the
StrokeOptions to make changes.
To make this process more self-contained,
this patch creates a gimp_vector_layer_set ()
function that operates in the same manner
as gimp_text_layer_set (). 
This patch adds properties for Fill -
Stroke properties will be added in a
follow-up commit.
This also adds
automatic tracking for Undoing/Redoing
vector property settings.
A demonstration of its use in DnD colors
and patterns onto the layer dock is
included.
2026-03-17 19:32:51 +00:00
Bruno Lopes
59d0e82850 Partially revert "Reenable .pdb building on GCC (for MINGW64/UCRT64 sake)"
This partially reverts b705bfb660

.pdb building is still broken on GCC (not on babl anymore but
while building script-fu).
2026-03-17 16:26:31 -03:00
Jehan
27af187e02 NEWS: switch to the 3.2 stable branch and archive the older NEWS file. 2026-03-17 18:18:04 +01:00
Bruno Lopes
6ec98fac00 tools: Support GNU objdump (from MSYS2) on defcheck.py 2026-03-17 12:56:34 -03:00
Rodrigo Lledó
a03ccc91da Update Spanish translation 2026-03-17 15:11:55 +00:00
Bruno Lopes
b705bfb660 build, meson: Reenable .pdb building on GCC (for MINGW64/UCRT64 sake) 2026-03-17 09:56:20 -03:00
Bruno Lopes
a19ef56214 build: Unify .isi modules into just one (giant) .isi
This is way easier to maintain to me, who have been
doing the installer work from some years 90% alone.
2026-03-17 09:56:20 -03:00
Bruno Lopes
7ff91e9a8d build: Do not ship 32-bit binaries for native installation on Installer 2026-03-17 09:56:20 -03:00
Bruno Lopes
3d026f3d14 build: Remove Wintel support from the .exe installer
It was only used for TWAIN, which we do not distribute anymore.

(Emulation binaries were already not on the MSIX since its first version).
2026-03-17 09:56:20 -03:00
Bruno Lopes
3fef9e5dc6 meson, app: Remove Wintel emulation layer after TWAIN disabling
Since we will not distribute 32-bit TWAIN with the intaller anymore,
GIMP is now architecture-native on Windows like on Linux and macOS,
so there is no use for WoW64 emulation on native 64-bit installations.

Users that need to use TWAIN can build GIMP on MINGW32 shell,
using -Dtwain-unmaintained=true build option at meson setup.
2026-03-17 09:56:20 -03:00
Bruno Lopes
9fb127f684 meson: Add explicit build option to build 32-bit TWAIN
It is long-time unmaintained on our repo, with no issues being fixed. Now that
32-bit binaries are not distributed, we can safely move to unmaintained section.
2026-03-17 09:56:20 -03:00