Commit Graph

43918 Commits

Author SHA1 Message Date
cbb8e9debc Replace fileicon.ico with version contain 24x24, 64x64, 128x128, and 256x256 sizes for Windows icon, per issue #872 2020-03-05 14:22:56 +00:00
23f7de4428 Replace wilber.ico with version containing 128x128 size of Windows icon, per issue #872 2020-03-05 14:22:56 +00:00
e6633d7568 Replace fileicon.ico with version contain 24x24, 64x64, 128x128, and 256x256 sizes for Windows icon, per issue #872 2020-03-05 14:22:56 +00:00
7966dce4d4 Update Ukrainian translation 2020-03-03 06:40:56 +00:00
34964a0057 Update Ukrainian translation 2020-03-03 06:39:39 +00:00
0d9b227d87 Update Spanish translation 2020-03-02 10:38:04 +00:00
cf1afbc248 Update Polish translation 2020-03-01 14:51:36 +01:00
Ell
225fc14872 Issue #4663 - "Error loading PSD file: No error" while trying to open a PSD
In file-psd, avoid error on load when encountering an uknown image
resource of size 0.

(cherry picked from commit 0ce993c4b9)
2020-02-28 00:48:09 +02:00
Ell
44d0c63129 plug-ins: in file-psd, make offset/size fields unsigned
In file-psd, make the data_start and data_len fields of the
PSDimageres and PSDlayerres structs unsigned, to avoid potential
overflow/sign-extension.

(cherry picked from commit be7cace74e)
2020-02-28 00:48:09 +02:00
0ff65ff76a Update Spanish translation 2020-02-27 13:50:18 +00:00
e0e41796cc Update German translation 2020-02-24 20:30:03 +00:00
4ac41df830 Update Dutch translation 2020-02-24 16:15:55 +00:00
5dfa459364 Update Swedish translation 2020-02-24 13:20:23 +00:00
Ell
9084b2449b app: add Finnish translation to the Windows installer
(cherry picked from commit ac289461ae)
2020-02-24 11:09:41 +02:00
3f9cd9b435 Update Finnish translation 2020-02-23 18:21:08 +00:00
2e1ae761ac Add Finnish translation 2020-02-23 18:00:00 +00:00
Ell
2d671cf5f7 Revert "configure.ac, app: temporarily revert GEGL dependency to 0.4.22 for release"
This reverts commit 6bed57abe2.
2020-02-23 19:28:02 +02:00
d1438a3fa0 configure.ac: post-release version bump to 2.10.19 2020-02-23 18:23:27 +01:00
26a8592f96 Update Finnish translation 2020-02-23 16:57:30 +00:00
de7f04567d NEWS: slight reformatting 2020-02-23 17:53:54 +01:00
69b63c2f14 2.10.18: update appdata to match recent changes 2020-02-23 16:27:34 +00:00
197bd743c8 2.10.18: update NEWS 2020-02-23 13:12:45 +03:00
25e3c899e0 Update Basque translation 2020-02-23 10:06:59 +00:00
ceaf9a8657 Update Basque translation 2020-02-23 09:33:55 +00:00
Ell
f8b07bd8b5 icons, tools: add Symbolic high-contrast variants
Add new Symbolic-High-Contrast and Symbolic-Inverted-High-Contrast
themes, which are automatically-generated high-contrast variants of
the (original) Symbolic theme.  The contrast factor is settable in
the makefile, and is currently at 1.5 for both themes.

Rename tools/invert-svg to tools/svg-contrast, which now takes a
contrast-factor argument, and adjusts the input SVG contrast,
instead of just inverting it.  Note that we can still use the tool
to invert icons, using a contrast of -1.
2020-02-22 22:51:18 +02:00
Ell
6bed57abe2 configure.ac, app: temporarily revert GEGL dependency to 0.4.22 for release
... and work around the missing gegl_buffer_share_storage() API in
gimp:replace.
2020-02-22 22:28:11 +02:00
696bb3fa21 app: use GIMP_BUILD_PLATFORM_FAMILY instead of GIMP_BUILD_PLATFORM.
I didn't realize it because the meson build was returning 'windows' for
GIMP_BUILD_PLATFORM when I cross-built with Mingw-w64. But in the
autotools, it was storing "mingw32", which would not compare with our
gimp_versions.json. Therefore in GIMP 2.10.16, the version update check
would have worked, but not the revision check.
This fixes the problem.

(cherry picked from commit a5ea6d6b9b)
2020-02-22 19:58:55 +01:00
Ell
6e6366e53c plug-ins: in file-psd, use scratch allocator for temporary CMYK buffers; cleanup
(cherry picked from commit 1b6191d176)
2020-02-22 18:21:43 +02:00
Ell
49b12b58af app: in the Preferences dialog, allow horizontal scrollbars in all tree-views
Allow horizontal scrollbars in all the Preferences dialog tree-
views, so that they don't limit the minimal width of the dialog (in
particular, the UI- and icon-theme tree-views may contain
arbitrarily-long paths).

(cherry picked from commit d868247fd9)
2020-02-22 17:40:41 +02:00
7b7ff8e152 Update Polish translation 2020-02-22 16:22:54 +01:00
Ell
38a9e80821 app: draw border around FG/BG-editor color areas
In GimpFgBgEditor, we currently use gtk_render_frame() in master,
and gtk_paint_shadow() in gimp-2-10, to draw a border around the
color FG/BG color areas.  However, the former is relatively
subtle, especially with dark themes, and the latter is a NOP with
the pixmap engine, which is what our built-in themes use.

Instead, draw the border ourselves as a pair of black and white
rectangles, similarly to Photoshop.

Move the entire color-frame drawing functionality to a separate
function, to avoid code duplication between the FG and BG frames.

(cherry picked from commit fb1c086097)
2020-02-22 17:16:54 +02:00
1432f5ca4f Update Swedish translation 2020-02-22 12:55:08 +00:00
Ell
878f222233 app: suspend layer-group size updates while loading XCF
In xcf_load_image(), suspend size updates for layer groups before
adding their sublayers, to avoid unnecessary intermediary size
updates.  Resume size updates in reverse order, so that nested
groups are updated before their ancestors, after all layers have
been loaded.

(cherry picked from commit 63df5602a2)
2020-02-22 12:45:19 +02:00
Ell
b495475ad9 Issue #4634 - Pass-through groups bounding-box is not properly updated ...
... causing artifacts

In GimpGroupLayer, override GimpLayer::get_bounding_box() to return
the group's own calculated bounding box for pass-through groups,
instead of using the group graph's bounding box, as calculated by
the default implementation of GimpDrawable::get_bounding_box().
We don't currently update the group's bounding box in response to
all the events that may affect the graph's bounding box, which can
lead to artifacts, neither should we use the graph's bounding box
anyway, since it includes the backdrop's bounding box, as the
group's layers are composited against the background.

Note that we still use the graph's bounding box for non-pass-
through groups, since it takes attached filters into account,
which are applicable for normal groups, but not pass-through
groups.

Additionally, don't restrict the group's bounding when it has a
mask, since this is now handled by GimpLayer.

(cherry picked from commit aa9ae1c65c)
2020-02-21 22:57:41 +02:00
Ell
3e9276eae7 app: fix layer group effective mode for different mask modes
In gimp_group_layer_get_effective_mode(), don't take the mask into
account if GimpLayer::apply-mask is FALSE.

(cherry picked from commit 8c81c6e153)
2020-02-21 22:57:41 +02:00
Ell
983698ecc1 app: fix layer bounding box for different mask modes
In gimp_layer_get_bounding_box(), return the mask bounding box when
show-mask is active, and otherwise delegate the actual layer
bounding box calculation to a new GimpLayer::get_bounding_box()
function, and intersect its result with the mask bounding box, if
necessary.  The default GimpLayer::get_bounding_box()
implementation simply chains up to
GimpDrawable::get_bounding_box(), but GimpGroupLayer will override
this function in the following commits.

(cherry picked from commit 7f53cf9c55)
2020-02-21 22:57:40 +02:00
Ell
603d0a6274 app: fix layer effective mode for different mask modes
In GimpLayer, update the effective mode, and excludes-backdrop,
when any of the mask-related properties change, and, when show-mask
is active, set the effective mode to NORMAL.

(cherry picked from commit b2a1a7cb01)
2020-02-21 22:57:00 +02:00
Ell
3c702fbc1c app: fix compositing of layers with masks, outside the mask bounds
In GimpOperationLayerMode, when the op has a mask connected, and
we're processing an area outside the mask bounds, set the op's
opacity to 0, so that the backdrop shows through.  The actual
process() function gets a NULL mask pointer in this case, and so
would composite the layer as if it had no mask, exposing areas that
should be masked out.

Add a GimpOperationLayerMode::parent_process() function, which
subclasses can override instead of GeglOperation::process(), and
make sure to update the GimpOperationLayerMode::opacity field
before calling this function (and, subsequently, before calling
GimpOperationLayerMode::process()).

Clean up the rest of the fields, and adjust the rest of the code.

(cherry picked from commit 646c804c04)
2020-02-21 22:57:00 +02:00
644f14da45 2.10.18: update appdata 2020-02-21 22:50:05 +03:00
1054fc4488 configure.ac: bump versions for the 2.10.18 release 2020-02-21 19:05:44 +01:00
17de63d732 Update NEWS for 2.10.18 2020-02-21 14:21:43 +00:00
9faef1b7ad Add naive support for CMYK u8 PSD files 2020-02-21 12:29:45 +01:00
Ell
5d1c6039e0 app: in paint tools, fix cursor position in line mode when snapping to angle
In GimpPaintTool, when not snapping brush outline to stroke, make
sure to properly snap the cursor position to 15-degree angle
multiples in line mode, not only when painting the line, but also
during motion.

(cherry picked from commit 0f07f1baa5)
2020-02-21 13:03:34 +02:00
Ell
b0a6cd6412 app: fix incorrect drawable format after applying a filter that resizes the drawable
In gimp_drawable_merge_filter(), fix the format of newly allocated
buffers when applying a filter that changes the size of the
drawable, and the requested format is either unspecified, or
matches the existing drawable format.  The new buffer would
previously be created with a "RGBA float" format in this case,
regardless of the image precision, resulting in a potential
mismatch between the drawable format and the image precision.

This cna lead to inconsistent buffer data when saved as XCF, which
is later rejected on load.  See issue #4643.

(cherry picked from commit ae6f6ba42a)
2020-02-21 12:03:00 +02:00
Ell
42b865561d app: avoid use-after-free when loading an XCF with corrupted layers
When dropping a corrupted layer while loading an XCF, make sure to
clear the corresponding XcfInfo fields that point to it, so that
it's not erroneously used later, as we now continue loading the
image even after corrupted layers are encountered.

See, for example, issue #4643, for a corrputed XCF file affected by
this.

(cherry picked from commit d53e701daa)
2020-02-21 12:03:00 +02:00
7df04317ed icons: bump the symbolic theme contrast just a little due to popular complaint 2020-02-20 20:00:17 +03:00
d91ccf85e8 Update Spanish translation 2020-02-20 11:10:43 +00:00
Ell
39ba4c409e app: in gimp:replace, add fast path when compositing a layer over itself
In gimp:replace, when compositing the same content over itself,
i.e., when the input and aux buffers share the same storage and
same tile alignment, pass the input buffer directly as output,
instead of doing actual processing.

In particular, this happens when processing a pass-through group
outside of its actual bounds.

(cherry picked from commit 2eaaa950a5)
2020-02-20 13:03:39 +02:00
Ell
0b80a0d068 Makefile.am: require GEGL >= 0.4.23
(cherry picked from commit 401745e62a)
2020-02-20 13:03:33 +02:00
22585fdde9 Update Ukrainian translation 2020-02-19 13:04:40 +00:00