Commit graph

54933 commits

Author SHA1 Message Date
Bruno Lopes
ff1bd20577
data: Fix obscure environ files on Windows
Following 36b660e2b2

- PATH was being set due to the Installer and MSIX but
  on my tests on both relocatable and Unix-style builds it
  was bogus. C and Py plug-ins worked without problems
- Same aplies to GI_TYPELIB_PATH, it is obscure and useless
2025-06-20 16:30:34 -03:00
Sam James
36b660e2b2 meson: fix typo on GIMP_TESTING_ENVIRON_DIRS
This fixes some "illegal variable" noise in the build. There can't
be any dynamically created environment files in the *source* directory,
but there may be in the *build* directory we're modifying.
2025-06-20 13:23:21 -03:00
Yuri Chornoivan
9039e35b01 Update Ukrainian translation 2025-06-20 15:44:02 +00:00
Jacob Boerema
c17b324910 plug-ins/dds: fix #12790 for 32-bit
On 32-bit systems the computed linear size can overflow, causing a
crash.
Use a function that checks for overflow when multiplying and return
an error if that fails.
As extra security also update the loop to compute the base offset after
each line of data, and convert to gsize first when computing the
size for g_malloc and memset.
2025-06-20 10:29:43 -04:00
Martin
693a6c5938 Update Slovenian translation 2025-06-20 07:06:49 +00:00
Alx Sa
56c83101e9 plug-ins: Import legacy PSD Inner Shadow
This patch adds support for loading and
applying active legacy Inner Shadow
layer styles in PSD images. It uses
gegl:inner-glow with certain preset values
to replicate the Photoshop filter.
2025-06-19 23:32:42 +00:00
Jehan
7262faed16 app, pdb: allow rendering font previews with theme colors.
This also depends on the same settings to render brushes with theme
colors, because this is data, not user interface. Therefore following
theme colors is not necessarily what creators would expect.
2025-06-20 00:11:08 +02:00
Jehan
e41776ef39 app: clean out unused functions. 2025-06-20 00:11:08 +02:00
Kolbjørn Stuestøl
40845e1961 Update Norwegian Nynorsk translation 2025-06-19 20:01:29 +00:00
Kolbjørn Stuestøl
cf817b96a3 Update Norwegian Nynorsk translation 2025-06-19 19:57:13 +00:00
Kolbjørn Stuestøl
aac4e49a47 Update Norwegian Nynorsk translation 2025-06-19 19:49:23 +00:00
Bruno Lopes
6c5401b9da
build/linux: Explain the purpose of $APPENDED_LIST 2025-06-19 16:25:16 -03:00
Bruno Lopes
f59b83ed6c
build/linux: Reorganize a bit the files section of AppImage script
This makes it a bit more similar to the Windows bundling script so
easier to read and maintain in the future.
2025-06-19 16:20:00 -03:00
Alx Sa
a39355ca4d actions: Select next palette entry after deletion
Unlike other dockables such as brush and patterns,
deleting a palette color does not automatically select
the next one. This makes it difficult to delete multiple
colors in a row. This patch gets the current index before
deleting the color, and then uses it to select the next entry
afterwards.
2025-06-19 18:57:08 +00:00
Bruno Lopes
2defc3d07b
build/linux: Delete some whitespaces on Flatpak deps script 2025-06-19 14:45:08 -03:00
Bruno Lopes
aa10583576
gitlab: Add soft check against bashisms
Even .sh (Unix) scripts being "forbidden" by us on Meson to
allowing GIMP being 100% natively built on Windows, it is a
good pratice anyway .sh being portable even outside Meson.
2025-06-19 11:31:43 -03:00
Ondřej Míchal
073a7a208f app: Unref GtkFileFilter only when a file loader has extensions set
gimp_file_proc_view_process_procedure() can return NULL in case a file
loading procedure does not have any extensions set.
2025-06-19 14:13:40 +00:00
Alx Sa
58a0c1d31e tools: Don't alter merge filter status unexpectedly
Currently, some GEGL filters must always be merged because
we don't yet have a way to store GimpDrawables with filters.
When creating these filters as part of the Filter Tool, we were
changing the "merge-filter" property directly. This mean that
if you had previously set the Filter Tool to be non-destructive,
it would be destructive the next time you added a filter (even if
the filter supported NDE).

This patch creates a separate boolean variable (initialized to the
current state of "merge-filter") and uses that instead in the
gimp_filter_tool_create_filter () function. This allows us to still
force filters with aux pads to always merge, while not affecting
the user's preferences for other NDE filters.
2025-06-18 23:14:36 +00:00
Yago Raña
fe19572cd1 Update Galician translation 2025-06-18 18:12:11 +00:00
Bruno Lopes
f4b2c99a5d
gitlab: Refine meson-health failure catching
- Add backslash to avoid dots being treated as wildcards by grep
- Do not allow search-common-ancestor to fail silently anymore
2025-06-17 21:13:32 -03:00
Alx Sa
c6655c2eac plug-ins: Correct Legacy PSD layer style loading format
Per Wormnest, the 4 bytes allocated to
PSD Legacy Dropshadow properties are
meant to be used for fixed floating point
values rather than integers. This patch
corrects the PSD layer resource struct and
how the data is loaded, based on prior
work by Wormnest.
2025-06-17 16:25:48 +00:00
Yuri Chornoivan
879aa8e89f Update Ukrainian translation 2025-06-17 13:51:36 +00:00
Bruno Lopes
078abb5f93
gitlab-ci: Use printf to fix Docker RUN of GL Collapsible Sections
This fixes some problems of output in the deps script and
makes everything more consistent.
2025-06-17 08:51:43 -03:00
Martin
877e500d0f Update Slovenian translation 2025-06-17 11:40:52 +00:00
Luming Zh
09720123d3 Update Chinese (China) translation 2025-06-17 01:48:58 +00:00
Bruno Lopes
fd47161215
gitlab, build, tools: Port bashisms to POSIX-compliant code
Although these scripts are not called by Meson, portability outside the
build system is always welcome (specially on macOS or non-GNU OSes).
2025-06-16 22:06:06 -03:00
Ekaterine Papava
b9d30cb3a2 Update Georgian translation 2025-06-16 20:46:10 +00:00
Alexander Shopov
1352857579 Update Bulgarian translation 2025-06-16 20:45:52 +00:00
Alx Sa
f94b43ecbf plug-ins: Add export support for PSB images
Photoshop's PSB format is nearly the same
as PSD. The main differences are that it
allows you to save images up to
300,000 by 300,000 pixels, and it doubles
the size of pointers related to pixel data
(such as layers and channels).
2025-06-16 18:57:22 +00:00
Jehan
1b9c78dc12 app: move the follow-theme toggle to GimpDataFactoryView.
By being in GimpContainerIconView, the toggle was only being shown in
grid view, even though it also affected the list view. So we move it up
to the container, next to the query tag entry.

Also I am adding a function to make this toggle visible only when
requested. And so far, we only request it for the Brushes dockable,
because it doesn't do anything on other data dockables (we added some
code to follow theme, for instance in Palettes dockable, but it doesn't
depend on this setting, because it doesn't touch data render, only GUI
render where it's normal to follow theme).

The latter function fixes issue #14260.
2025-06-16 12:13:15 +02:00
Jehan
8628ad77c1 app: make sure we invalidate brush renderers when "viewables-follow-theme" changes. 2025-06-16 11:55:34 +02:00
Alx Sa
bd79df9858 themes: Fix system theme leak on notebook header
Some system themes add a box shadow and change borders
for GtkNotebook headers. This patch adds rules defining these,
along with defining the outline for header buttons when hovered
over.
2025-06-15 17:08:14 +00:00
Jehan
55bad480b8 README: this is a development branch now. 2025-06-15 17:46:41 +02:00
Jehan
c6c00ddccc INSTALL: update.
This text should also be a bit more robust to future (more frequent now)
minor version bumps.
2025-06-15 17:43:59 +02:00
Jehan
423b1d027f NEWS: update. 2025-06-15 17:29:40 +02:00
Jehan
cc21e6d70b app: fixup commit be1496a91e implementing unique color count.
- Improve the hash: doing the value computation in guint64, we'd
  wrap-around the max guint64, which mostly means that we'd drop all
  high bits! Therefore the hash doesn't depend at all on the most
  significant bits. Instead let's do our computation in double and
  convert to guint in the end. I am not 100% sure if it is that much
  better, to be fair (thinking in term of color: the old hash function
  depended on the least significant color channels; I do wonder if it
  could not make collisions more frequent but I'm not sure). The
  wrap-around hash function should be fairly distributed too, but then
  maybe we should just use guint directly in this case.
- The computation of unique colors was leaking all the GBytes but the
  last! First we must use g_hash_table_new_full() to set a free function
  for inserted keys, then we must free every non-inserted key ourselves.
- The "n/a" string should be localized (it's English acronym).
- Also display this "n/a" in italic to make it clearly different from
  computed numbers.
2025-06-15 17:23:06 +02:00
Jehan
22a14d6248 app: fix a few build warnings.
- gimp_pattern_load_photoshop_pattern() should be a static function.
  Fixes:

> app/core/gimppattern-load.c:39:1: warning: no previous declaration for ‘gimp_pattern_load_photoshop_pattern’ [-Wmissing-declarations]

- Fix wrong format for goffset values:

> app/core/gimppattern-load.c:137:16: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 6 has type ‘goffset’ {aka ‘long int’} [-Wformat=]
2025-06-15 15:53:55 +02:00
Bruno Lopes
16cbcb828c
build/windows: More metainfo cleanup
Following 088dd8aa9f
2025-06-14 17:35:56 -03:00
Alexander Shopov
05aeba9740 Update Bulgarian translation 2025-06-14 20:26:49 +00:00
Yuri Chornoivan
0acc8ffba3 Update Ukrainian translation 2025-06-14 17:44:52 +00:00
Bruno Lopes
26c2fe9e3d
build/linux: Add comment about why libbacktrace is custom built 2025-06-14 12:46:41 -03:00
Bruno Lopes
c10d5c1138
build/windows: Add comment about glib schemas bundling
Otherwise, I and the future packagers will forget the reasoning behind
why glib schemas on Windows diverges from Linux bundling (e.g. AppImage).
2025-06-14 12:31:40 -03:00
Bruno Lopes
088dd8aa9f
build/windows: Complete share/metainfo cleanup
Completes 47212318

I missed the .iss script so it would fail. Removing from it, then.
2025-06-14 11:38:11 -03:00
Bruno Lopes
c3bf6ae3ba
build/windows: Add explanation about .pdb Symbol Server 2025-06-14 10:14:54 -03:00
Anders Jonsson
e44a6db7a5 Update Swedish translation 2025-06-14 11:03:55 +00:00
Anders Jonsson
681e92ee7a Update Swedish translation 2025-06-14 11:00:58 +00:00
Martin
ea69356e52 Update Slovenian translation 2025-06-14 05:43:37 +00:00
Luming Zh
c0bc06f7ea Update Chinese (China) translation 2025-06-14 01:15:00 +00:00
Bruno Lopes
d178d741b0
build/linux: Sync Flatpak nightly modules with Flathub branches 2025-06-13 21:52:11 -03:00
Bruno Lopes
ac320fb6a6
build/linux: Enable dependency check on Nightly flatpak
Inspired by https://github.com/flathub/org.gimp.GIMP/pull/437

Now, in the weekly builds the job will fail if some module is old.
It is reasonable to make the job fail since nightly builds are
supposed to be blending edge so they should have the latest deps.

This makes way easier to spot when some module needs to be updated,
reducing a bit the continuous burden of syncing the 3 manifests.
2025-06-13 21:52:06 -03:00