Commit graph

49932 commits

Author SHA1 Message Date
Simon Budig
7f10328777 script-fu-dialog: fix memleak 2023-05-20 23:41:18 +02:00
Simon Budig
a100bb7fcf gimptagpopup: port to GtkStateFlags 2023-05-20 23:32:18 +02:00
Simon Budig
289999ad52 core: remove the workaround, neither gcc nor clang generate a warning here. 2023-05-20 23:32:18 +02:00
Simon Budig
51311f913d metadata: shut up a weird warning 2023-05-20 23:32:18 +02:00
Niels De Graef
0f05de3dc0 libgimpwidgets: Try harder to set parent window
In case someone passes a `GtkWidget` rather than a `GtkWindow` as a
parent to a `GimpDialog`, we still have another way of trying to get its
parent window, using `gtk_window_get_toplevel()`. If we still get a
window from that, it allows us to still specify a reasonable
"transient-for" value for our newly-made `GimpDialog`.
2023-05-20 20:24:28 +00:00
Simon Budig
6e1747953a libgimp: fix a warning by using an enum of the correct type. 2023-05-20 22:16:06 +02:00
Jordi Mas
d7f5cd0e43 Fix typo in Catalan translation 2023-05-20 22:05:56 +02:00
Simon Budig
d16734a4e4 plug-ins: fix some glib related deprecations 2023-05-20 21:46:17 +02:00
Simon Budig
690c9ae21a gimpguidetool: fix somewhat pointless warning about uninitalized variable 2023-05-20 18:47:14 +02:00
Simon Budig
a2458f1528 file-tiff-load: fix mismatching variable type 2023-05-20 18:47:14 +02:00
Jacob Boerema
c8739aa494 libgimp: fix failure to write XMP metadata
Certain XMP metadata tags currently can't be saved by us until we get
support in gexiv2 for adding new structs not present in exiv2.
We remove these tags from the exported metadata because the XMPSDK in
exiv2 would otherwise fail to write all XMP metadata.

Examples are the newer (2019, 2021, 2022) sample images from the
IPTC Photo Metadata Standard.

We also add all the static functions present in gimpimagemetadata-save
at the top, which had been forgotten in the past.
2023-05-20 12:39:29 -04:00
Jacob Boerema
b37f0a3182 libgimp, plug-ins: remove obsolete XmpStructs 2023-05-20 12:39:29 -04:00
Simon Budig
36eda4ae9c fix some warning related warnings 2023-05-20 18:25:10 +02:00
Alx Sa
a4541d8a7a gui: Fix upper text scaling for small images
Resolves #5742.
From fa0a0212, the splash's upper text was scaled to PANGO_SCALE_MEDIUM
both when the image width was 2x or less than 2x. This was likely a
copy/paste issue, as the lower text code scaling does not duplicate.
This patch fixes it by changing the else condition to scale to
PANGO_SCALE_SMALL.
Note that this change is unlikely to be seen as it requires a very small
splash screen image to reach the else condition.
2023-05-20 16:20:00 +00:00
Jordi Mas
8b6be32c51 Update Catalan translation 2023-05-20 18:14:49 +02:00
Simon Budig
27af306a8a libgimp: un-deprecate and fix gexiv2 usage. 2023-05-20 18:06:21 +02:00
Alx Sa
604045fc0f plug-ins: Replace deprecated GdkColor with GdkRGBA
As GdkRGBA stores colors as doubles rather than guint16, the assignment
code had to be moved into the ifdef block as well.
Note that this code is only used if X11 is not available on build.
2023-05-20 15:17:14 +00:00
Alx Sa
24a1d34bba plug-ins: Porting to GimpSaveProcedureDialog
These five plug-ins already used GimpProcedureDialog when I originally
worked on them for !9250. However, their export GUI needs to
use GimpSaveProcedureDialog instead.
2023-05-20 14:30:41 +00:00
Simon Budig
b5f6c2e855 Revert "script-fu: resolve some duplicate menu path entries"
I had a bogus installation. Sorry for that.

This reverts commit c0691ea85c.
2023-05-20 01:31:47 +02:00
Simon Budig
c0691ea85c script-fu: resolve some duplicate menu path entries 2023-05-20 01:17:39 +02:00
Jacob Boerema
9accaad0b6 libgimp: replace deprecated functions ...
1. gexiv2_metadata_has_tag with gexiv2_metadata_try_has_tag;
2. gexiv2_metadata_set_exif_thumbnail_from_buffer with the "try" version.

For a while now the minimum gexiv2 version for the master branch is 0.14.0,
which means we can replace these deprecated functions, since the new
versions were added in 0.14.0.
2023-05-18 15:23:59 -04:00
Jacob Boerema
00901276f2 libgimpbase: replace strcpy/strcat with g_strconcat in gimpmetadata
We were using fixed size buffer with strcpy/strcat, which gave warnings in
coverity.

Even though in our case there was no chance of buffer overflow, let's
replace this by using g_strconcat, which allocates memory for the
string which we free after use.

Also get rid of a few unneeded memset's for strdata.
2023-05-18 14:51:12 -04:00
Jordi Mas
8ab345d1e4 Update Catalan translation 2023-05-18 07:19:40 +02:00
Jordi Mas
5bea1c4135 Update Catalan translation 2023-05-15 22:18:02 +02:00
Alx Sa
48e976725c build: Update Windows installer associations
Adds the following formats that GIMP now supports: .ani, .cur, .dcx,
.icns, .pam, .wbmp, .iff/acbm/ilbm/lbm
2023-05-15 19:26:48 +00:00
Yuri Chornoivan
40d9026f9e Update Ukrainian translation 2023-05-15 17:51:40 +00:00
Jehan
3862fad8c1 plug-ins: file-fits becomes an optional plug-in.
Let's make cfitsio an optional dependency, showing up in the final configure
output. The file-fits plug-in will just not be built when the dep is missing.
2023-05-15 12:20:53 +02:00
Alexander Shopov
8f9b8b3d58 Update Bulgarian translation 2023-05-15 09:32:36 +00:00
Martin
3bc5793dbf Update Slovenian translation 2023-05-15 07:54:40 +00:00
Martin
30a8943356 Update Slovenian translation 2023-05-15 07:51:19 +00:00
Ekaterine Papava
1a35e01620 Update Georgian translation 2023-05-15 03:35:55 +00:00
Ekaterine Papava
c12f953d57 Update Georgian translation 2023-05-15 03:31:34 +00:00
Alx Sa
b2874464f5 icons: Revert most of !909
Per @Jehan, this solution would prevent default icons from being loaded
in custom themes if they did not include their own version.
The only thing kept from !909 is the replacement of hardcoded strings
in a few files with constants defined in gimpicons.h.
2023-05-14 21:54:41 -04:00
Alx Sa
d4f420769c plug-ins: Port FITS plug-in to cfitsio library
Switch to NASA-maintained cfitsio library for loading/exporting FITS images.
This allows us to import compressed FITS files (GZIP, HCOMP, PLIO, RICE) in
8/16/32 bit and float/double precision. It also simplifies export code using
the built-in cfitsio APIs.
2023-05-14 15:05:50 +00:00
Jordi Mas
4a67ee4035 Update Catalan translation 2023-05-14 16:13:34 +02:00
Yuri Chornoivan
c8d44578aa Update Ukrainian translation 2023-05-14 11:21:31 +00:00
Alx Sa
0790d6c9d5 widgets: Add Grayscale color picking mode 2023-05-14 10:19:54 +00:00
Jehan
a75015a821 build: add appstream-glib
It is actually available in the SDK but was removed from the runtime (relatively
recently, it would seem). As a more general rule, it seems that GNOME is phasing
it out slowly in favor of libappstream. So probably we should do the same
eventually.
Yet for now, to at least have a working nightly flatpak, let's add it to our
package.
2023-05-13 22:44:00 +02:00
Jehan
fa85eb6565 gitlab-ci: fix the CI.
The flatpak_ci_initiative.yml template we include got changed 2 days ago,
replacing the "only" by a "rules", which broke our CI file.

Cf. commit 193f63c20f87d38868c05beee6446b387b73e140 in repository citemplates.

The present commit should (hopefully) fix this error:

> Unable to create pipeline
>   jobs:flatpak-nightly config key may not be used with `rules`: only

(even though the error is a bit cryptic, the problem is apparently that both
rules: and only: keys cannot be used together)
2023-05-13 22:15:20 +02:00
Jehan
9ebc2cf3f7 NEWS: update. 2023-05-12 18:19:24 +02:00
Jehan
d22f1c3332 app: quick/dirty-exit on all releases (not just stable ones) while…
… clean-exiting on all dev code (whether stable or unstable branches).

This is because the dirty exit prevents the on-exit crashes which seem to happen
somewhere in the memory cleanup (which apparently corrupts memory but all crash
traces don't show the proper area where the issue actually hapened). So let's
have release exit the process without issue (at least all important user-facing
data is saved properly by then), while not hiding the issue to developers.

Also on dev code, the GIMP_DIRTY_EXIT will allow to go anyway for the quick
exit() path, so that for instance one can work on other pieces of code without
feeling bothered by the constant crashes on exit.

For the record, the crashes we are talking about appear when you update to a
recent GLib, after the removal of GSlice implementation (which is basically now
just a malloc/free alias). There may be issues in our usage of GSlice though we
also experience crashes even just with commit 69e9ba80e on GLib which hints at
issues in our GObject/GType code.
2023-05-12 14:37:16 +02:00
Jehan
39bcdc9e40 app: gimp_console_app_class_init() is the class init function, not interface. 2023-05-12 14:37:16 +02:00
Alexander Shopov
8eeeb13a31 Update Bulgarian translation 2023-05-11 13:45:42 +00:00
Alexander Shopov
eff5230370 Update Bulgarian translation 2023-05-11 13:37:09 +00:00
Jehan
6c6cd2df24 app: make sure va_start() is matched by va_end().
xcf_save_prop() starts with va_start(), hence must end with va_end(). Yet any of
the xcf_write*_check_error() macros could end this function abruptly. Therefore
I'm adding a "cleanup" argument to the macros, allowing to add any code
necessary to clean the current function before returning.
2023-05-11 15:18:33 +02:00
Jehan
d1118a5e15 app: missing break statement. 2023-05-11 14:19:37 +02:00
Jehan
b64f79fed9 devel-docs: don't build reference docs when GIR aren't generated.
This can happens in cross-compilation cases for instance.
2023-05-11 12:46:57 +02:00
Jehan
e22c027bbf app: keep the GtkStyleProvider alive.
While GTK keeps a reference to it, we should simply not release our own
reference at init(). This was a case where we freed this twice.
2023-05-11 12:46:57 +02:00
Jehan
f9993b85b6 app: use G_DECLARE_INTERFACE() to declare GimpAction interface.
Less boiler plate code so less reasons to mess up.
For this to be feasible, I also had to define a cleanup function for
GimpObject.
2023-05-11 12:46:57 +02:00
Jehan
bb4438789a app: fix some s/G_TYPE_FROM_CLASS/G_TYPE_FROM_INTERFACE/ calls. 2023-05-11 12:46:57 +02:00