Commit Graph

44773 Commits

Author SHA1 Message Date
573a4798b6 plug-ins: fix #6723 Unable to open DDS files.
This is the same as what we did for #5357
but in the reverse situation. The reason
for not doing the same at that time was
because I wasn't sure if that was valid
in all cases.

Looking at the documentation it does seem
to be the right solution and is working for
the supplied example image.

(cherry picked from commit 48ff5313c3)

# Conflicts:
#	plug-ins/file-dds/ddsread.c
2021-04-14 13:44:14 -04:00
59bab76383 app: fix 3d transform tool not added to gimphelp-ids.h
(cherry picked from commit 4aaad4f749)
2021-04-09 18:04:49 -04:00
2b6ab09cc1 Issue #6394: Wacom Airbrush finger wheel non-functional (on…
… Cintiq 16).
Adding the patch provided by Knuckx. Note that the GTK3 variant of the
patch is already merged to gtk-3-24 branch and published since GTK
3.24.28. Nevertheless since the contributor also provided a GTK2
variant, it would be a bit of a waste to let it go down the drain,
wouldn't it?
So let's try and use it in our GIMP 2.10.x packages for Windows.
2021-04-07 14:27:56 +02:00
2c182ed5eb build: adding patch for glib!2020.
This is a patch for issue #913, the infamous "non-existent floppy drive"
or other unreachable network or unmounted drives. Well at least it
*should* fix the issue, but GLib developers are hoping we could test. So
let's add this in there for our next Windows package.

(cherry picked from commit 7e2a0238a2)
2021-04-07 13:33:06 +02:00
dbc3139759 Update Dutch translation 2021-04-05 16:02:23 +00:00
7f7331e4dd Update Dutch translation 2021-04-05 15:58:11 +00:00
4d6cf1e3e8 app: Don't second-guess the dependency system
Removing this check makes the treatment of LittleCMS consistent with
all the other dependencies checked in the same file, which only check
that the runtime version is at least the required version.

As long as we were compiled against LittleCMS >= 2.8, and are now
running against a version that has at least the same symbols, it doesn't
necessarily matter whether the version we are running against is the
same one we were compiled against.

Distributions like Debian and Ubuntu track the versions in which
individual symbols were introduced, which allows runtime dependencies
to be weakened when no newer symbols are actually used; this is
practically necessary when working with very large numbers of packages,
to avoid a new version of a dependency library unnecessarily blocking
upgrade of dependent packages. However, this doesn't work if dependent
packages add their own checks that bypass this mechanism.

Signed-off-by: Simon McVittie <smcv@debian.org>
(cherry picked from commit dda65d85c3)
2021-04-04 16:06:10 +02:00
1fd6f68afa meson, configure, plug-ins: image/x-sun-raster is a supported MimeTypes.
Also ".sun" is a possible (and common) file name extension for Sun
Raster images, according to various sources and samples I found (these
samples with .sun extension also opened fine in GIMP, so it's not just a
subvariant which we may not handle or something of the sort). This one
is not so important though as we also register magic bytes for detection
(which is the proper way), but it can still be useful, mostly for
exporting (as we will direct to the SunRaster plug-in if someone tried
to export a file with .sun extension, since no other file format uses
this extension AFAICS).

There is no functional change, I just had a look at this plug-in while
handling !428 and realized this format was not present in the MimeType
list (which is used to generate the desktop file, in order to have
proper mime types, not detection based on extension only, unlike
Windows in !428).

(cherry picked from commit cd3333c6d3)
2021-04-04 16:04:58 +02:00
f742981171 build: remove *.rs file association with SUN Raster images
Nowadays .rs is the extension for the Rust programming language files,
and it's confusing that GIMP is trying to associate with them.

A simple rename of existing .rs images to .ras will allow them to be
opened again.

Note by reviewer: ideally file association should not rely on filename
extension, and should be detected properly (i.e. file "magic"). This way
even extension clash would not be a problem (format would be detected
whatever the extension used). Unfortunately it's apparently not the case
on Windows.
Anyway since nowadays chances to see a Rust code file are likely much
higher than seeing a Sun Raster image file, let's just accept this patch
and drop association of `.rs` on Windows.

(cherry picked from commit 809e045ead)
2021-04-04 03:23:39 +02:00
261eff08f4 app: Print 2-digit LittleCMS minor versions correctly
LittleCMS 2.12.0 defines LCMS_VERSION as 2120. We want to print that
as 2.12.0, not 2.2.0.

Resolves: https://gitlab.gnome.org/GNOME/gimp/-/issues/6505
Signed-off-by: Simon McVittie <smcv@debian.org>
(cherry picked from commit e54bfa58b1)
2021-04-04 01:50:09 +02:00
09d2ef07bf Update Polish translation 2021-04-03 13:48:10 +02:00
ed2484b429 Update Spanish translation 2021-04-03 09:56:49 +00:00
08b396503f plug-ins: fix another cast warning.
Fix again these warnings:
> cast from pointer to integer of different size

(cherry picked from commit 2c6e21b1e7)

Note: the absence of this made script-fu crash on Windows 64-bit. See
issue #6664. Why this suddenly appeared and never happened before GIMP
2.10.24 is a big mystery.
2021-03-30 23:56:56 +02:00
07b947fbeb configure: post-release version bump to 2.10.25. 2021-03-28 23:49:12 +02:00
fea5236e19 configure: release GIMP 2.10.24. 2021-03-28 22:30:30 +02:00
50c460877f Update Swedish translation 2021-03-28 20:04:31 +00:00
a7a3b983fb docs, etc: regenerate gimprc and its manpage. 2021-03-28 22:01:41 +02:00
a0bb707d55 Update Ukrainian translation 2021-03-28 18:13:03 +00:00
6a2910bd3b plug-ins: set the "Save GeoTIFF data" checkbox insensitive when…
… there are no such data available.
No need to have people test and wonder what it changes when it makes no
difference. Also adding a tooltip to make the "present on import"
condition a bit more obvious (hopefully).

This is only on `gimp-2-10` for now, for the 2.10.24 release. I will
port this to `master` branch later.
2021-03-28 19:17:15 +02:00
c864b65525 NEWS: update/reword a bit more.
Some of the points are taken from the 2.99.x branch NEWS file.
2021-03-28 18:55:40 +02:00
5e4b52eb40 NEWS: update. 2021-03-28 18:25:11 +02:00
90f8cb54eb plug-ins: fix crash of qbist when loading files.
Contents of these arrays are assumed to be limited to a specific range.
While it did work sometimes (because a further processing would randomly
regenerate some of the indexes and correctly limit the range), it often
crashed.

This commit fixes the crash, but I am not sure this plug-in is working
exactly as expected regarding data load/save. It feels like you would
expect to always get the same patterns with a same source data. Yet
there is further randomization going on.

Oppositely when saving data, and re-loading it later, I would expect
once again to get back the exact same patterns I had when saving the
data. So it would be a way to save the result of randomization (as
chances to get back a pattern one liked are slim by definition when it's
created randomly).

Right now, it doesn't behave at all like this. Files are only used as
some kind of random seed, not as a way to save/load patterns. I feel
this was not the purpose of the file handling here.

(cherry picked from commit 7fb696206e)
2021-03-28 03:19:24 +02:00
504c7875d6 configure: missing OpenRaster MIME type in desktop file.
Adding support for .ora files when Python plug-ins are installed.

(cherry picked from commit 1de810f6de)
2021-03-28 01:54:47 +01:00
c9c8f96e46 Update Swedish translation 2021-03-27 20:21:41 +00:00
d397a68d7a desktop: AppData ready for tomorrow's release.
Note that I marked the news as releasing on the 29th though the release
is marked for 28th, because we never manage to release the web news on
the same day, and usually we wait for the Windows and/or macOS
installers at least.
2021-03-27 21:05:35 +01:00
b61871e94a configure,app: depend on GEGL-0.4.30
This contains fixes also for GIMP. Note that the current babl
requirement is the minimum build requirement, newer release do contain
relevant fixes.
2021-03-27 20:20:41 +01:00
7ebfc03283 Update Slovenian translation 2021-03-26 19:13:53 +00:00
6c126529fa Update Slovenian translation 2021-03-26 19:08:57 +00:00
3b0a4bf336 Update Slovenian translation 2021-03-26 19:07:48 +00:00
c182d17ef7 Update Slovenian translation 2021-03-26 19:04:44 +00:00
c8422ac34b plug-ins: fix incorrect saving of Iptc.Application2.Caption in metadata-editor.
The saved value for Iptc.Application2.Caption is copied from Xmp.dc.description.
However the last one is multiline but the former should be single line. This
caused only the first line to be saved instead of all lines.

To fix this we set Iptc.Application2.Caption to single and use a different
conversion based on whether the tags from Xmp and Iptc are both
multiline or whether Iptc is single line.

(cherry picked from commit 5d14c59d2e)
2021-03-24 13:02:12 -04:00
e3c57e43c8 plug-ins: fix incorrect values for ModelReleaseStatus and PropertyReleaseStatus.
While testing the metadata-editor I noticed that certain values for
ModelReleaseStatus and PropertyReleaseStatus were incorrectly
read back.

Apparently while copy pasting some values were forgotten to be
updated which caused incorrect values to be saved.

There probably are not many users of these metadata tags
since in all these years there hasn't been a bug report about this.

(cherry picked from commit 93f591931b)
2021-03-23 16:46:03 -04:00
27ee0c87ee plug-ins: Do not write to Iptc.Application2.DateCreated if no date was set.
The metadata-editor allowed Iptc tags to be set if an empty string was
used contrary to Xmp tags. In the case of DateCreated this cause an
invalid date "0-00-00" to be written.

We added a check to only write text Iptc metadata if the value is
not empty.

(cherry picked from commit 0a902456ac)
2021-03-23 15:26:07 -04:00
efc41d1fa8 plug-ins: Do not write empty ModelReleaseStatus and DigitalSourceType.
Fixes issue #3656 Empty metadata tags are written to XCF at least.

Xmp.plus.ModelReleaseStatus and Xmp.iptcExt.DigitalSourceType are
defined as combo boxes with a fixed number of possible values.
However there was no option to leave it empty so there always was
a value written when saving metadata in the metadata-editor.

We added a "select value" as default option and only write
metadata if a different value was chosen.

As a bonus we replaced the fixed loop numbers with
the current actual number of defined choices.

(cherry picked from commit a229454915)
2021-03-23 15:25:50 -04:00
8c1e7679a0 Update Brazilian Portuguese translation 2021-03-23 15:05:29 +00:00
7b1f6e69dc plug-ins: interpret Exif.Photo.UserComment before showing in metadata-viewer.
(cherry picked from commit 34463786b1)

# Conflicts:
#	plug-ins/metadata/metadata-viewer.c
2021-03-22 16:30:02 -04:00
e10517dccc libgimp: fix issue #6050 Phantom comments on pictures.
Since version 0.27.3 exiv2 has changed how it returns
comments for Exif.Photo.UserComment. We now get
the comment including the charset=Ascii value.

Let's remove anything that's not part of the actual
comment. To not complicate things we will  only
handle charset=Ascii for now since I've never seen
any other charset used.

(cherry picked from commit 352b5885b1)

# Conflicts:
#	libgimp/gimpimagemetadata.c
2021-03-22 16:29:12 -04:00
34983e1a25 libgimp: improve saving xmp metadata.
1. Convert xmp /Iptc4xmpExt tag parts to /iptcExt because
exiv2 fails when we try to use the default namespace.

2. Don't only set structs from a fixed list but find all
xmp array elements and check what the best struct
type is: bag or seq.

3. Work around a sorting issue in (g)exiv2 by using a natural
sorting algorithm ourselves.

4. Added some g_debug statements to make it easier to
determine the cause of issues.
2021-03-21 18:27:35 +00:00
0e14834e1d Update Swedish translation 2021-03-21 17:42:33 +00:00
404d0a711d plug-ins: in metadata-editor use /iptcExt instead of /Iptc4xmpExt when saving.
We need to work around an issue in Exiv2 that saving to /Iptc4xmpExt bag
records fails which seems related to it registering /iptcExt. Unregistering
that and registering the first one doesn't work.
See: https://gitlab.gnome.org/GNOME/gexiv2/-/issues/24

So let's use /iptcExt for saving even though it's the less common form
for now. When loading metadata we try to load the most common
form first and if that fails we will load /iptcExt.

(cherry picked from commit a95371c2b0)
2021-03-16 13:27:12 -04:00
81b4ce100e plug-ins: set most common CreatorContactInfo last in metadata-editor.
Set Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:* last since the short
form Xmp.iptc.Ci* could have been used to set this information too.

Becausethe first (longer) form is the most common let that override the
shorter form in the (unlikely) case that both are present and also have
different values.

Due to a bug in the metadata-editor previously only the short form
was saved.

(cherry picked from commit d00fe2bfe2)
2021-03-16 13:26:56 -04:00
cb3f7d527d plug-ins: fix several memory leaks in metadata-editor.
(cherry picked from commit 184b803811)
2021-03-16 13:26:39 -04:00
aeb4967334 plug-ins: fix using incorrect structs and fields in metadata-editor.
(cherry picked from commit f04b84cb39)
2021-03-16 13:26:23 -04:00
11de16f8ab plug-ins: more refactoring of duplicate code in metadata-editor.
Reordered the strings in artworkorobject to be in the same
order as the columns.
Add write_metadata_tag_multiple function that handles most
of the previously duplicated code and check for special
handling of phonetype when necessary by adding
an enum and a get_phonetype function.

(cherry picked from commit 4609def72f)
2021-03-16 13:26:07 -04:00
b5b8e38479 plug-ins: refactor writing single metadata tag in metadata-editor.
Use a separate function that can be reused and also get rid of
the large output_data array and strcat without length
checking. We will use GString instead.

(cherry picked from commit 9c2451d813)
2021-03-16 13:25:47 -04:00
eda92ae5c7 plug-ins: remove use of strcpy without length checking in metadata-editor.
(cherry picked from commit 87763cbe27)
2021-03-16 13:25:30 -04:00
b6f0c0130b plug-ins: remove use of global tagdata array in metadata-editor.
This removes some flawfinder warnings by not using a fixed
size array and using g_snprintf instead of g_sprintf and
using more safety checks.

(cherry picked from commit c2fa21ac7d)
2021-03-16 13:25:12 -04:00
b40c29ac0a plug-ins: more refactoring of metadata-editor.
There was a lot of duplicate code based on
whether or not value was NULL with for
some tags partially unreachable code.

We combine the parts and only test
value for NULL where needed.

Also rename the typos in enum
COL_REGSITRY_* to
COL_REGISTRY_*

(cherry picked from commit 0a0eeac1ad)
2021-03-16 13:24:56 -04:00
b0ab2b0e62 plug-ins: refactor metadata-editor adding values to gui.
There's a lot of duplicate code for adding string values
to the gui (liststore). This is another part of trying
to reduce that.
Besides that the copying code uses fixed size arrays
without length checking as pointed out by flawfinder.

We will instead use a function add_to_store to add a
comma or semicolon separated list of values stored in
value to add rows with values to the gui.

(cherry picked from commit e24a6dc8d6)
2021-03-16 13:24:37 -04:00
6770f19e01 tools: Made 'Crop tool' aware of color or pattern changes
Crop tool used stale color / pattern values when performed crop with
'Allow growing' option. Its context was not notified when fg/bg/pattern
value was changed.

Closes: #4103
2021-03-11 19:45:19 +06:00