Commit Graph

45157 Commits

Author SHA1 Message Date
0b96363e10 pdb: add a PDB procedure for shadows-highlights 2023-02-13 13:16:38 +00:00
57d04e0e26 plug-ins: Fix CRITICAL message in Python console
This implements the full fix to the problem noted in the prior commit.
While it no longer crasheed when applying a function after clearing the
console, Jehan reported it still showed a CRITICAL message. This should
fix it the same as the 2.99 branch.
2023-02-13 12:55:40 +00:00
3fbb96c36b plug-ins: Fix Python console crash after clear
GTK2 get_iter_at_line_offset() does not allow invalid offsets unlike
GTK3 version. Clearing the console creates an invalid iter due to an
empty buffer.

This patch attempts to resolve it by adding a ">>> " output when the
console is cleared, thus preventing the invalid iter issue.
2023-02-13 11:43:12 +00:00
a902576864 gitlab-ci: do not allow failure for the distcheck.
This was making the CI issue much less visible, and distcheck is definitely
needed for releases.
2023-02-12 23:49:32 +01:00
d8faa6d21c Revert "libgimpwidgets: fix def file."
This reverts commit 13284c8953.

Actually I should not have backported this change from the `master` branch.
These functions are still public in 2.10 (and internal in the main branch).

This should fix our CI.
2023-02-12 23:49:23 +01:00
0aa087c8f9 NEWS: update. 2023-02-12 16:04:23 +01:00
d78e1a7878 Update Polish translation 2023-02-12 13:17:22 +01:00
aacd3d4640 Issue #8666: Color profile conversion is broken.
A bug in babl would run the color conversion twice when the input and output
buffer is the same and a LUT is available for the color transform. This is a
workaround in GIMP code (especially because we still don't require the latest
babl version), though a real bug fix will soon happen too in babl itself as
well.
2023-02-12 12:52:29 +01:00
6d190931c8 Update Swedish translation 2023-02-12 11:22:41 +00:00
4a56ddc050 Update Slovenian translation 2023-02-12 10:08:40 +00:00
7ba4512d26 Update Slovenian translation 2023-02-12 10:07:11 +00:00
6c901c1641 plug-ins: Make PDF background color fill optional
This adds a checkbox to single and multi-page PDF export to not fill
transparency with the background color
(which currently happens automatically)
2023-02-11 23:26:20 -05:00
13284c8953 libgimpwidgets: fix def file.
The defcheck.py file finds these errors:

> Problem found in /home/jehan/dev/src/gimp/libgimpwidgets/gimpwidgets.def
>   the following symbols are listed in the .def-file,
>   but are not exported by the library.
>      - gimp_color_picker_cursors_get_resource
>      - gimp_icon_pixbufs_get_resource

Indeed these don't exist. Unsure why the autootols check failed to
report these until today.

(cherry picked from commit 01e87819ce)
2023-02-10 23:39:31 +01:00
7aff7e9c70 plug-ins: load PDF without filling the background to white.
Some PDF have transparency on purpose. Filling with white, without any question,
is counter-productive and prevents from working on such PDF files.

Note that we could add an option with a checkbox, leaving one to decide whether
to fill the background or not. But it feels over-engineering the issue. The PDF
is transparent, so that's what we load, and that's it. If one wants to add a
background, it's easy to add a layer at the bottom of the stack (and they can
make it any color they want, not just white), after loading the file.

(cherry picked from commit c369827725)
2023-02-10 20:40:28 +01:00
691b996be4 plug-ins: fix a crash in tiff_io_error().
I had a TIFF file which would crash while triggering an error, inside g_logv()
code (and according to the stacktrace, even probably inside some lower level
printf implementation code).

The reason was that I already processed the variable list with
g_strdup_vprintf() and printf didn't like this va_list being reused, then
segfaulted with some "Cannot access memory at address" error.

The alternate fix was to first copy the va_list in the first use with
va_copy()/G_VA_COPY, yet since we already processed the format data, I thought
it was useless to do this. Let's just directly use the formatted string.

(cherry picked from commit fb1f16d4b8)
2023-02-10 20:35:08 +01:00
c9ba326f8e plug-ins: fix overwrite export creates thumbnail
...when it shouldn't.

Backport of Wormnest's code.
When overwriting the same file when exporting, we didn't check if the
image previously had a thumbnail. If the default setting in Preferences
is to add a thumbnail, then it would add one where it shouldn't.

Since thumbnails get saves as part of the EXIF metadata, we need to check
that to see if there was a thumbnail in the original image.
However, we were always removing the thumbnail from the metadata on import.

Let's delay removing this metadata until we need to, which has the
advantage that the metadata in our viewer is more complete.

When exporting starts, we add a check in gimp_image_metadata_save_prepare
to see if there was a thumbnail in the EXIF metadata. If not, then we
disable the thumbnail flag.

In gimp_image_metadata_save_finish we remove the thumbnail metadata when
the user doesn't want to save a thumbnail, or when the image format
does not support EXIF.
2023-02-09 23:05:00 +00:00
aeb5eaa890 Issue #8359: GIMP crashes from "open the font selection dialog" button.
Apparently GDK/Win32 sends the "grab-broken-event" signal before the "clicked"
signal. This has only been changed since GTK4 so far.

Anyway the bottom line is that GimpContainerPopup would process a handled on
"clicked", using the object destroyed when "grab-broken-event" happened as
callback data. The solution is to make sure that the object stays alive long
enough. So I'm changing gimp_editor_add_button() to connect to signals with
g_signal_connect_object() (since all usage of this function was used with
GObject callback data, it was not a problem).

See discussion in !815.

As a side change, gimp_container_popup_dialog_clicked() should emit the
"cancel", not "confirm". This part was taken from MR !815 by Lloyd Konneker.

(cherry picked from commit f77f772f56)
2023-02-09 23:27:17 +01:00
22ca5248af Update Ukrainian translation 2023-02-09 21:31:55 +00:00
7d9cab6e5d Update Swedish translation 2023-02-09 21:30:22 +00:00
2d59d233ef [app] Ensure calculated histogram spike height ...
is positive or zero. Sometimes the calculated `y` or `bg_y`
values are negative because the histogram value was divided
by zero (when max == 0.0).

Resolves: #9132 (Gnome/GIMP bug tracker)
(cherry picked from commit 9b517fbf7d)
2023-02-10 00:53:53 +06:00
ab53ec2de4 Updated Italian translation 2023-02-09 19:18:10 +01:00
6fbbd75cc1 Update Turkish translation 2023-02-09 15:55:41 +00:00
b7c5d1a8c7 Update Turkish translation 2023-02-09 15:55:07 +00:00
9bf5c0e51a Update Turkish translation 2023-02-09 15:54:24 +00:00
c9f518a65c display: Fix statusbar tool icon offset
The Y offset of the statusbar tool icon is too large, which pushes it
off-screen. This scales the offset by the size of the icon to
prevent this problem.
2023-02-09 14:19:23 +00:00
49310e5943 Issue %8365: Ambiguous naming of "Lock path strokes".
(cherry picked from commit 8bd3d5e0bb)
2023-02-09 15:12:45 +01:00
2fd738bb3e Revert "libgimpcolor: fix call to cmsCreateProofingTransform()."
This reverts commit f7e7f396aa.

See issue #8269.
For GIMP 2.10, I'll just revert this commit so that we get back to pre-2.10.32
situation. For 3.0, we'll try to do something better.
2023-02-09 14:48:52 +01:00
aa612807e7 NEWS: update. 2023-02-09 14:32:05 +01:00
0cd38a87e1 desktop: new <release> tag for GIMO 2.10.34.
See #9136.
2023-02-09 13:38:41 +01:00
6f2aff5133 NEWS: add a listing for 2.10.34. 2023-02-09 13:13:50 +01:00
9ac937b3a1 Update Swedish translation 2023-02-08 23:07:31 +00:00
979f3e7a60 plug-ins: Fix default TIFF export settings
This sets the default TIFF export to "normal" TIFF (regardless if GIMP
was built with BIGTIFF support or not). It then checks if
the BIGTIFF option was previously selected on export 
to optionally set the option to TRUE.
2023-02-08 03:45:39 +00:00
2f15693cde plug-ins: Export PSD with paths
Ports PSD path export from file-tiff-save.c so that paths are carried
over in PSD project files as well.
2023-02-08 02:46:19 +00:00
d0d0e7b88f Update Swedish translation 2023-02-08 00:54:05 +00:00
9cae7fbb90 Update Swedish translation 2023-02-08 00:48:07 +00:00
7f9680e8c4 plug-ins: Improve PSD load support
Backport of Wormnest's code to fix #5438.
Certain PSD layers have a flag called clipping set to 1. We were not
handling this flag and had some reports about colors bleeding where
they were not supposed to.
We are going to set GIMP's layer composite_mode to
GIMP_LAYER_COMPOSITE_CLIP_TO_BACKDROP, which is the closest we can get
to PhotoShop's clipping. With this, the colors won't bleed anymore.
This isn't the whole solution since PS apparently stops compositing when
it encounters a layer 
without clipping set, while GIMP doesn't stop until
it reaches the bottom layer of a group or the image.

PhotoShop handles clipping layers in a different way than GIMP. The only
way to have it look the same is by adding extra layer groups.
PSD layers that have clipping set, combined with the first non clipping
layer below it are grouped together in a new layer group.
Doing this results in the same image as the PSD merged image unless there
are other PSD elements in play that we don't handle yet.

See e.g. the NSFW image 
in the mentioned issue where the purple hair color
is a little darker than the merged image.
2023-02-07 01:58:32 +00:00
233a014490 app: add eye icon to GimpItemTreeView header...
...visibility column.
Makes it much more obvious where you have to click for visibility, and
where each column is. Also it's more consistent.
Backport of Jehan's code.
2023-02-06 09:44:26 -05:00
62951f034e Update Spanish translation 2023-02-04 03:44:31 +00:00
db5ca02d93 Update Spanish translation 2023-02-04 03:42:43 +00:00
81dd37e057 Update Spanish translation 2023-02-04 03:41:20 +00:00
23986c6c3c Update Spanish translation 2023-02-04 03:39:01 +00:00
c4ee62a907 Update Slovenian translation 2023-02-01 20:21:59 +00:00
84f1589e28 Update Slovenian translation 2023-02-01 20:20:16 +00:00
595bdc42f1 Update Ukrainian translation 2023-02-01 18:49:46 +00:00
6758505e50 Update Ukrainian translation 2023-02-01 18:48:12 +00:00
87dc05e7c0 Update Georgian translation 2023-02-01 16:21:27 +00:00
a8777a7374 libgimpconfig: Retain color scale preferences
RGB 0..255/0..100 and LCh/HSV settings are now remembered when closing
and reopening GIMP.
2023-01-29 14:05:20 +00:00
b9448777e7 dialogs: Add template selector to resize dialog
Porting code by Stanislav Grinkov from dev branch.
Adds option for selecting predefined page sizes using the same
template selector as on "New Image" dialog.

Syncs up size and offset unit selectors to have the same value
when changing template and when resetting whole dialog.

Also adds pixel density 
selector to canvas size dialog
which will be shown when selected template pixel density doesn't
match the image pixel density.

Then user can either keep current image ppi and scale the
template or set image ppi to match the template ppi.

Density selector displayed only when template and image ppi
differs and template unit is matches one of real world units
(e.g. inch, mm, etc).
2023-01-29 09:55:11 +00:00
53f0d60f10 Update Ukrainian translation 2023-01-27 14:47:33 +00:00
95d6a2867a Update Slovenian translation 2023-01-26 17:55:49 +00:00