Commit graph

42592 commits

Author SHA1 Message Date
Emin Tufan Çetin
e073e0c55f Update Turkish translation 2019-04-08 16:26:24 +00:00
Michael Natterer
d1ee74b250 configure.ac: post-release version bump to 2.10.11 2019-04-07 18:54:50 +02:00
Michael Natterer
596f855749 configure.ac: bump versions for the 2.10.10 release 2019-04-07 18:30:13 +02:00
Michael Natterer
bdb2584b63 etc, docs: regenerate default gimprc and its manpage 2019-04-07 14:22:12 +02:00
Michael Natterer
896a7b5a12 NEWS: some fixes 2019-04-07 13:36:45 +02:00
Jehan
6ec62f2d17 desktop: prepare the GIMP 2.10.10 release.
Hopefully it will happen! :-)

(cherry picked from commit e0b958b22c)
2019-04-06 12:35:12 +02:00
Jehan
054da85911 po: always end the "Keywords" list with a semicolon!
It is written in a translator comment and is important because it breaks
some automatic validation tools along the way to packaging. Thanks for
following the translation comments! :-)
2019-04-06 11:27:02 +02:00
Ell
ce2e7420a8 Issue #2665 - Settings changes in Rectangle and Ellipse selection don't "stick"
In GimpRectangleSelectTool, update the selection upon changes to
the "antialias", "feather", "feather-radius", "round-corners", and
"corner-radius" options, so that they take effect immediately,
without having to change the selection bounds.

(cherry picked from commit 2da6cefa3f)
2019-04-06 05:22:24 -04:00
Christian Kirbach
91642674ce Update German translation 2019-04-04 23:20:26 +00:00
Marco Ciampa
abc2726c06 Updated Italian translation 2019-04-04 16:12:59 +02:00
Jehan
69b056a0b5 INSTALL: update info about libmypaint.
Since recently, one can also install the new "libmypaint-v1" branch. It
is not so different, but has several fixes. Among them, it fixes
building with recent automake.

(cherry picked from commit 1028345b7b)
2019-04-01 17:07:19 +02:00
Marco Ciampa
027e5ed5b0 Updated Italian translation 2019-04-01 12:57:48 +02:00
Ell
8c7e2a9e03 Issue #3025 - "File/New" doesn't honor "precision" choice ...
... for "Edit/Preferences/Default Image"

In GimpTemplateEditor, don't use gimp_prop_enum_combo_box_new() for
the "Precision" combo-box, and rather synchronize the combo-box and
the template manually, since we only want to update the "Gamma"
combo-box according to the precision when it changes through the
UI, and not when the template's precision otherwise changes.

This fixes an issue where we'd always set the default gamma value
when resetting the editor's template, overwriting the template's
original gamma value.

(cherry picked from commit 033082dd9a)
2019-03-31 15:18:59 -04:00
Rūdolfs Mazurs
7e26d66464 Update Latvian translation 2019-03-31 13:28:24 +00:00
Rūdolfs Mazurs
3c674c937c Update Latvian translation 2019-03-31 12:24:10 +00:00
Rūdolfs Mazurs
402c1f1f7b Update Latvian translation 2019-03-31 09:40:41 +00:00
Rūdolfs Mazurs
4204dab5f6 Update Latvian translation 2019-03-31 09:25:15 +00:00
Rūdolfs Mazurs
f810d59928 Update Latvian translation 2019-03-31 09:21:39 +00:00
Ell
522e497457 app: in GimpChunkIterator, avoid preparing rect before merging
In GimpChunkIterator, avoid preparing the current rect before
merging it back to the iterator's region, to save some work.

Additionally, strengthen the iterator's invariants and simplify
code.

(cherry picked from commit c95502266a)
2019-03-31 05:03:47 -04:00
Ell
1cdd32955e app: fix image-window UI-manager update while a projection is being rendered
Set the priority of the image window's UI-manager update idle
slightly higher than the projection idle priority, so that the
image actions are updated during projection rendering.

(cherry picked from commit 50aaeef6a0)
2019-03-30 19:31:26 -04:00
Ell
191c9812f3 app: small fix to GimpChunkIterator
(cherry picked from commit d182c41f8f)
2019-03-30 16:36:33 -04:00
Ell
c5d34b2496 app: in gimp:fill-source, align result to tile grid
In gimp:fill-source, align the result rect to the drawable buffer's
tile grid, so that all tiles are COWed for solid-color fills.

(cherry picked from commit fa31854a66)
2019-03-30 12:06:14 -04:00
Ell
9c9467e076 Issue #2090 - Crash when using transform tools
In GimpTransformGridTool, avoid producing non-finite coordinate
and angle values.  In particular, this fixes a crash in
gimp_transform_grid_tool_get_cursor() as a result of a NaN angle
value being converted to a negative integer, hitting an assert.

(cherry picked from commit be7906c05c)
2019-03-30 11:18:06 -04:00
Ell
4d2a5d1a94 app: more responsiveness improvements to GimpChunkIterator
Improve GimpChunkIterator's responsiveness to changes in processing
speed.

(cherry picked from commit 91f4c809d8)
2019-03-30 11:18:05 -04:00
Piotr Drąg
1096bdfd53 Update Polish translation 2019-03-30 14:34:50 +01:00
Ell
f0b5080f83 app: don't invalidate viewable preview when thawed unless explicitly requested
In GimpViewable, don't invalidate the preview when thawed, unless
there was an explicit call to gimp_viewable_invalidate_preview()
while it was frozen.  This avoids invalidating the previews of an
invisible drawable's ancestors when the drawable's preview is
frozen/thawed.

(cherry picked from commit 9dabad4cb9)
2019-03-29 04:54:12 -04:00
Ell
c8ea2f45f9 app: avoid risky alloca() in gimp_brush_save()
Replace an arbitrarily-sized g_alloca() with g_malloc() in
gimp_brush_save().

(cherry picked from commit 24ed9dbdf5)
2019-03-28 16:56:01 -04:00
Ell
c347f8770c app: avoid freezing image preview if drawable is not attached
When freezing/thawing a top-level drawable's preview, only freeze/
thaw the image preview if the drawable is attached.

(cherry picked from commit de36e33347)
2019-03-28 12:36:48 -04:00
Ell
b9ca245736 app: when freezing a drawable's preview, freeze ancestors' previews
Add GimpViewable::preview_{freeze,thaw}() virtual functions, which
get called when the viewable's preview is frozen/thawed.  Implement
the functions in GimpDrawable, recursively freezing the parent
drawable's preview (or the image's preview, for top-level
drawables) while the drawable's preview is frozen.  For layer
masks, freeze the associated layer's parent.

This avoids updating layer-group/image previews while painting on,
or applying a filter to, a descendant layer.  This both reduces
lag, and fixes a discrepancy between the layer's preview, which
isn't updated, and its parents' previews.

(cherry picked from commit e2ea2e4a82)
2019-03-28 12:26:54 -04:00
Jehan
273a0c4395 app: change antialias feature in fill by line art into Feather Edges.
This was actually more of a feathering feature I added earlier, and we
already have a function for that: gimp_gegl_apply_feather(). This is
using a gaussian blur, just as what I was doing anyway. This commit also
adds the "Feather Radius" scale, similar to other tools with the
"Feather Edges". So that makes it consistent (and more useful as you can
adapt to your needs).

(cherry picked from commit d821b088e2)
2019-03-28 14:12:12 +01:00
Ell
aa7fc3f08d app: add GTK+ patch allowing controlling combo-box popup style
Add a GTK+ patch providing a "popup-style" combo-box style
property, allowing to manually control the combo-box popup-style.
Use the LIST style for all combo-boxes in our system-wide gtkrc
file; this only has effect if GTK+ was built with the above patch.
2019-03-27 20:15:50 -04:00
Ell
1749fd995c app: add GTK+ patch to fix list-style combo-box popup width
Add a GTK+ patch that makes sure that list-style combo-box popups
are never narrower than their content.  This fixes the popup width
when using the System theme on Windows, for combo-boxes whose popup
cell-layout is wider than the combo-box cell-layout.  It is also
required for the next commit.
2019-03-27 20:15:50 -04:00
Ell
7edbad3144 app: include system gtkrc file in themerc
Include the system-wide gtkrc file, in addition to the user-
specific gtkrc file, in the generated themerc file, instead of
copying the former into the latter when creating the user's
gimpdir.  This allows us to modify the system-wide gtkrc file, and
having the changes take effect in existing installations.
2019-03-27 20:15:50 -04:00
Ell
f19ebb6269 app: revert combo-box drop-down changes
Revert the use of gtk_combo_box_set_wrap_width() to change the
combo-box drop-down style, except for the status-bar unit combo.
See https://gitlab.gnome.org/GNOME/gimp/issues/2828#note_421312 for
the rationale.

This reverts commits 1d984542e9,
68a33ab5bd, and
6dfca83c2a.

(cherry picked from commit 846d242f30)
2019-03-27 20:14:45 -04:00
Ell
9063b937fe app: use gimp:fill-source in gimp_drawable_edit_fill()
In gimp_drawable_edit_fill(), when performing a non-direct fill,
use a GimpDrawableFilter with gimp:fill-source, added in the
previous commit, instead of using gimp_drawable_apply_buffer() with
an intermediate fill buffer.  This avoids allocating a full-size
fill buffer, which may occupy a lot of space in pattern fills.

(cherry picked from commit 234f76b6fb)
2019-03-27 15:48:22 -04:00
Ell
75822d3d7b app: add gimp:fill-source operation
Add a new gimp:fill-source operation, which can act as a source
node for fill operations, instead of a fill buffer.  The op takes
a GimpFillOptions object, a drawable, and a pattern offset, and
uses gimp_fill_options_create_buffer() to produce its output.

This allows performing the entire fill operation in chunks as a
graph, instead of allocating a full-size fill buffer, which can
can occupy a lot of space for pattern fills.

(cherry picked from commit 6b0337e384)
2019-03-27 15:48:21 -04:00
Ell
2341117517 app: improve gimp_drawable_fill_buffer() for patterns
In gimp_drawable_fill_buffer(), when the fill-source is a pattern,
avoid going through an intermediate buffer when there's no profile
transform, and use the destination-buffer format for the
intermediate buffer, instead of the pattern format, when there is a
profile transform.

(cherry picked from commit 3c1634ee0d)
2019-03-27 15:48:21 -04:00
Ell
1416571389 app: use compositing format for fill buffer
Add gimp_fill_options_get_format(), which returns the format to be
used for the fill buffer; this is the same format used during
compositing.  Use this format in gimp_fill_options_create_buffer(),
instead of the drawable format.

This fixes the result of fill operations when the fill color/
pattern is not representable in the drawable format, and speeds up
color fills by avoiding color-conversion for the fill buffer during
processing.

(cherry picked from commit 245a17c79f)
2019-03-27 15:48:20 -04:00
Ell
6e06e5e856 app: in GimpDrawableFilter, set underlying operation
In GimpDrawableFilter, use
gimp_gegl_node_set_underlying_operation() to the the input
operation node as the underlying operation of the filter node.

(cherry picked from commit b0dfc1e7c7)
2019-03-27 15:48:20 -04:00
Ell
b5b5d71708 app: use underlying operation in gimp_gegl_apply_cached_operation()
In gimp_gegl_apply_cached_operation(), use the underlying
operation, as returned from
gimp_gegl_node_get_underlying_operation(), for testing whether the
operation is a point operation, for the purpose of avoiding
duplicating the input buffer.  Likewise, avoid duplicating the
buffer when the underlying operation is a source operation.

(cherry picked from commit 213b126c6e)
2019-03-27 15:48:19 -04:00
Ell
5e212fe0dd app: add gimp_gegl_node_{set,get}_underlying_oepration()
... which allow setting/getting the "underlying operation" node of
a graph node.  For example, GimpDrawableFilter constructs a complex
graph around a given operation node, which would be the underlying
operation of the graph.  This allows querying the properties of the
underlying operation, given only the graph.

In recursive cases, gimp_gegl_node_get_underlying_operation()
returns the most-nested underlying operation; when no underlying
operation has been set, gimp_gegl_node_get_underlying_operation()
returns the input node.

(cherry picked from commit eb5e473665)
2019-03-27 15:48:17 -04:00
Ell
3518ab9197 app: add gimp_gegl_node_is_source_operation()
... which determines if a node is a source operation.

(cherry picked from commit ff13e55c16)
2019-03-27 15:47:39 -04:00
Ell
55569d512e app: in gimp_drawable_apply_buffer(), work in chunks
In gimp_drawable_real_apply_buffer(), use GimpChunkIterator to blit
the applicator's output to the drawable's buffer in chunks, to
minimize the space used for intermediate results.

(cherry picked from commit 8f845d3a51)
2019-03-27 15:47:39 -04:00
Ell
7c6125ce67 app: improve responsiveness of GimpChunkIterator
In GimpChunkIterator, redajust the target area at each step,
instead of at each iteration, to adapt more quickly to the current
processing speed.  To avoid creating uneven chunks as a result,
only change the chunk height at the beginning of rows, unless the
resulting area would be more than twice as big as the target area.

(cherry picked from commit e904b71242)
2019-03-27 15:47:38 -04:00
Ell
f81c1cac10 app: preserve projection priority rect across structure/bounds changes
In GimpProjection, store the priority rect in image coordinates,
and only convert it to projectable coordinates when initializing
the chunk-iterator's priority rect.  This allows us to preserve the
priority rect across projectable structure/bounds changes.

(cherry picked from commit 9d80ccc3e6)
2019-03-26 04:58:57 -04:00
Daniel Korostil
6473daa05b Update Ukrainian translation 2019-03-25 21:33:10 +00:00
Daniel Korostil
bb747c58ed Update Ukrainian translation 2019-03-25 20:06:19 +00:00
Daniel Korostil
03c98739bd Update Ukrainian translation 2019-03-25 20:05:04 +00:00
Daniel Korostil
7d3b935327 Update Ukrainian translation 2019-03-25 20:03:58 +00:00
Daniel Korostil
b9375a3873 Update Ukrainian translation 2019-03-25 20:01:52 +00:00