Commit Graph

42562 Commits

Author SHA1 Message Date
590f58abff NEWS: keep up-to-date.
Not updated for a while, let's try to keep the file up-to-date so that
we can make relevant news. If I forgot stuff, please add them! :-)
2019-03-03 19:20:33 +01:00
d50abef3a2 #3050 - Four tooltips marked as translatable
(cherry picked from commit 3c64697878)
2019-03-03 17:52:48 +01:00
15038f8f3d Updated Danish translation of gimp-python 2019-03-03 15:08:38 +01:00
fe0cf5777c Updated Danish translation of gimp-plug-ins 2019-03-03 15:08:38 +01:00
481cca3907 Updated Danish translation of gimp-libgimp 2019-03-03 15:08:38 +01:00
92ec0bb6a3 Updated Danish translation 2019-03-03 15:05:58 +01:00
Ell
1705333141 libgimpwidgets: fix gimp_spin_button_new_with_range()
(cherry picked from commit 19eb9fb1bf)
2019-03-03 04:22:30 -05:00
Ell
d81d857798 app: in gimppaintcore-loops, improve CanvasBufferIterator algorithm helper-class
In gimppaintcore-loops, fix the CanvasBufferIterator algorithm
helper-class so that it may appear more than twice in the
hierarchy, and integrate it into the normal dispatch-dependency
system, instead of having dependent algorithms inherit it directly.

(cherry picked from commit 03810861d2)
2019-03-02 16:24:52 -05:00
Ell
7f6e522a35 app: in gimp:mask-components, don't forward empty aux when mask is fully set
... since the result needs to be fully opaque in this case, rather
than fully transparent.

(cherry picked from commit 371e35eeb8)
2019-03-01 14:36:25 -05:00
ef44c72556 Update Dutch translation 2019-03-01 19:34:41 +00:00
0eac712bc4 Update Polish translation 2019-03-01 20:24:53 +01:00
Ell
a3db1857fc app: small fix to last commit
(cherry picked from commit a8a29312de)
2019-03-01 14:15:25 -05:00
Ell
37797f9de4 app: fix toggling-off of alpha channel
Fix gimp:mask-components to use full-oapcity value for the alpha
component when it's masked-in and there's no "aux" input, so that
the image is rendered with full opacity when the alpha channel's
visiblity is toggled off, as per bug #143315.

(cherry picked from commit 6419ed3246)
2019-03-01 14:11:22 -05:00
Ell
1d05c286c5 app: disable spec. 8-bpp version of gimp:mask-components for non-little-endian platforms
(cherry picked from commit 6166f9ae14)
2019-03-01 14:11:21 -05:00
d70a030b75 Update Dutch translation 2019-03-01 17:08:57 +00:00
Ell
efc632948f Issue #3037 - Crash in transform tools after transforming an out-of-bounds selection
In GimpTransformGridTool, fix weak-pointer initialization for the
out-of-bounds selection-boundary canvas item, to avoid a CRITICAL
when initializing the tool in transform-selection mode for a fully
out-of-bounds selection, and a subsequent segfault when re-
initializing the tool.

(cherry picked from commit 1e739675a4)
2019-03-01 09:07:21 -05:00
7c7eb399b7 build,app: require GEGL-0.4.14
(cherry picked from commit dde7108584)
2019-03-01 14:48:01 +01:00
67efe67ed8 build,app: require babl-0.1.62 2019-03-01 14:46:52 +01:00
Ell
5a62d61885 app: add "Constrain handles", "Around center" options to the perspective tool
Add "Constrain handles" and "Around center" options to the
perspective-transform tool's GUI, which are similar to the
corresponding options of the unified-transform tool.  Both of these
options can already be controlled using Shift and Ctrl,
respectively, through the transform-grid widget, so we might as
well provide GUI toggles for them.

(cherry picked from commit ac4b0fe9f1)
2019-02-28 15:46:49 -05:00
Ell
41790aef4b app: fix transform-grid center point for non-affine transforms; use as pivot
In GimpToolTransformGrid, use the transformed center-point of the
original polygon as the position of the center-point handle, and as
a snapping point for the pivot when "cornersnap" is TRUE, instead
of using the center-point of the transformed polygon.  These two
points are different for non-affine transformations.

Furthermore, when "use-pivot-handle" is FALSE, use the center-
point as the reference point when transforming around the pivot,
instead of the pivot itself, which might not be set.  In
particular, this fixes transformation around the pivot in the
perspective tool.

Don't explicitly set the center-point as the pivot in the scale
tool, since this commit makes it unnecessary.

(cherry picked from commit cdc5782b3c)
2019-02-28 15:46:48 -05:00
Ell
3f43c2ea12 Issue #1554 - Select by Color tool does not select pixel(s) or area(s) of pixel(s)
In gimp_pickable_contiguous_region_by_color(), add a small epsilon
to the threshold value, to allow for small errors due to the input
color and pickable pixel-colors being converted to the common
format through different paths.

While we *could* special-case threshold == 0 when the input color
comes from the same pickable, as is the case for the select-by-
color tool, and perform an exact comparison in the original format,
in the more general case the input color can come from an arbitrary
source, such as a plug-in.

(cherry picked from commit a6c79770c3)
2019-02-28 09:27:48 -05:00
Ell
bf793f9d59 build: add Korean translation to the Windows installer
... but keep it disabled, since the Inno Setup Korean translation
is unofficial.

(cherry picked from commit fe35294ee7)
2019-02-27 03:41:32 -05:00
Ell
7bdb482eff po-windows-installer: technical fix to the Korean translations
ender's name can't be encoded in the target encoding -> use ASCII.

(cherry picked from commit ee49487cf2)
2019-02-27 03:41:32 -05:00
297e4410d4 Add Korean translation 2019-02-27 07:26:57 +00:00
Ell
3f1e91fa0b app: in gimp_gegl_create_flatten_node(), explicitly set color node format
In gimp_gegl_create_flatten_node(), explicitly set the output
format of the background gegl:color node according to the composite
space, so that no conversion is required during compositing.

(cherry picked from commit ebf2c2fef1)
2019-02-25 11:31:03 -05:00
Ell
5d37a244dd app: merge layers in chunks, and show progress
In gimp_image_merge_layers() -- the internal function used by the
various layer-merging/flattenning functions -- process the merged-
layer graph in chunks, using gimp_gegl_apply_operation(), instead
of in one go, using gegl_node_blit_buffer().  Processing in chunks
better utilizes the cache, since it reduces the size of
intermediate buffers, reducing the chances of hitting the swap when
merging large images (see, for example, issue #3012.)

Additionally, this allows us to show progress indication.  Have the
relevant gimpimage-merge functions take a GimpProgress, and pass it
down to gimp_image_merge_layers().  Adapt all callers.

(cherry picked from commit e83d8ac4f2)
2019-02-25 05:10:59 -05:00
Ell
9de3b475ae app: streamline action_data_get_foo() functions
Streamline the various action_data_get_foo() functions, by having
each function only match the action data directly against its
specific type(s), and use the other functions to match the action
data against their corresponding types, instead of having each
function directly exhaust all possible matches.

Other than reducing depulication, it fixes certain cases in which
some action_data_get_foo() functions would fail to find a match,
even though one exists, since they failed to exhaust all the
options.

(cherry picked from commit 914200f3ad)
2019-02-25 05:10:58 -05:00
Ell
86e97536d3 app: in GimpSmudge, avoid copying brush pixmap when flow = 0
In GimpSmudge, avoid copying the brush's dab to the paint buffer
when using a pixmap brush if the flow parameter is 0 -- it has no
effect in this case.

(cherry picked from commit fb5987fd57)
2019-02-24 13:22:59 -05:00
Ell
2ea7deff4d app: improve gimp_brush_core_color_area_with_pixmap()
Reimplement gimp_brush_core_color_area_with_pixmap(), which copies
the brush's dab to the paint buffer when using a pixmap brush, in
terms of gimp-gegl-loops.  This simplifies the functions,
parallelizes processing, and transparently handles float brushes.

Replace the "mode" parameter of the function with an "apply_mask"
parameter, which specifies whether to apply the brush's mask to
the dab as part of copying.  Avoid applying the mask in
GimpPaintbrush; previously, we would erroneously apply the mask
twice when using the paintbrush tool: once when copying the
dab to the paint buffer, and again when pasting the paint buffer
to the canvas.

We still apply the mask in GimpSmudge, which results in the same
double-application behavior, however, this might be less practical
to fix.

(cherry picked from commit 5b09af4390)
2019-02-24 13:22:57 -05:00
Ell
25ed35af62 app: accept a const GimpTempBuf in more temp-buf functions
In gimp_temp_buf_{ref,unref}(), and
gimp_temp_buf_create_{buffer,pixmap}(), accept a const GimpTempBuf
argument.

(cherry picked from commit 0a1e62768a)
2019-02-24 13:22:28 -05:00
8b1a5ea0c2 Update Polish translation 2019-02-24 17:37:21 +01:00
db675d84e3 app: implement saving of GimpBrushPipes in the core
Just the GimpData::save() and ::copy() part that is needed to
duplicate and rename them, the image-to-pipe logic from the export
plug-in remains to be ported.

(cherry picked from commit aee097fa97)
2019-02-23 19:44:23 +01:00
Ell
50a09d2451 Issue #2997 - Error importing PCX
Commit dc069e424a removed the
assumption that 1-bpp PCX files are B&W, in favor of using the
provided palette, which is (supposedly?) the correct behavior.
However, there are evidently B&W files that do not specify a
palette, resulting in an all-black image (i.e., a 2-color indexed
image, whose both palette entries are black).  Since other
software, including older versions of GIMP, load such files
"correctly", let's fix this by falling back to a B&W palette when
the provded palette is uniform.

(cherry picked from commit 11defa4271)
2019-02-22 12:02:14 -05:00
Ell
a5130c7f66 app: add temp-buf-total varaible to the dashboard
Add a temp-buf-total variable to the dashboard's misc group,
showing the total size of all GimpTempBuf objects.

(cherry picked from commit bb645bae17)
2019-02-22 08:47:13 -05:00
66e15ba261 Update Hungarian translation 2019-02-21 19:33:58 +00:00
Ell
bf92987353 app: replace use of deprecated dont-cache/no_cache with cache-policy
Replace the use of the deprecated GeglNode::dont-cache property,
and GeglOperationClass::no_cache field, with GeglNode::cache-policy
and GeglOperationClass::cache_policy, respectively.

See commit gegl@7f24430cda0d8c3eff311868823d445edc2a4e12.

(cherry picked from commit 7489f0aece)
2019-02-21 13:09:49 -05:00
972c7ddede Update Polish translation 2019-02-21 17:35:00 +01:00
061bce7b7a Update Russian translation 2019-02-21 01:41:01 +03:00
088418e004 app, plug-ins: move file-gih-load from the file-gih plug-in to the core
(cherry picked from commit 52adaa1963)
2019-02-19 23:48:55 +01:00
45d3a054a4 app: some changes to GimpBrushPipe in preparation for .git image loading
- don't clear the names of the individual brushes, we need them for
  a load -> save roundtrip
- for the same reason, and for convenience, store the parameter string
  in the object
- clean up gimp_brush_pipe_finalize()

(cherry picked from commit 4b456e6079)
2019-02-19 23:48:09 +01:00
4944e61bc3 app: cosmetic change in file_pat_load_invoker()
just for consistency with file_gbr_load_invoker().

(cherry picked from commit 7aa99c8cf0)
2019-02-19 23:47:56 +01:00
13de8f2982 app: factor file_gbr_brush_to_layer() out of the brush-to-image logic
of file-gbr-load, and add some layer handling magic that doesn't
change a thing for simple brushes, but is needed for loading brush
pipes.

(cherry picked from commit 3b89ae40d0)
2019-02-19 23:47:34 +01:00
a07c086d7a Update Japanese translation 2019-02-18 14:42:36 +00:00
fc45f1189e Update Hungarian translation 2019-02-18 12:16:00 +00:00
de73cd294d Update Hungarian translation 2019-02-18 06:54:42 +00:00
Ell
bfa6285d23 plug-ins: in file-dds, rename endian.h to endian_rw.h ...
... to avoid clashing with the system <endian.h>

Thanks Andrea!

(cherry picked from commit b5a34c3190)
2019-02-17 13:35:22 -05:00
Ell
cbd712a2bd app: in operation tool, update scrolled-window size request when options-box size changes
In GimpOperationTool, update the options scrolled-window size
request whenever the size of the options box changes, instead of
only when constructing the GUI, since the options layout may change
dynamically through GUM, or through a custom GUI.
2019-02-17 04:20:11 -05:00
Ell
de1ac871e9 app: in gimppaintcore-loops, unsuppress COMBINE_PAINT_MASK_TO_CANVAS_BUFFER algorithm
In gimppaintcore-loops, unsuppress the
COMBINE_PAINT_MASK_TO_CANVAS_BUFFER algorithm (partially
reverts commit b717ead1abd487f663668ac131883dff0ffe4557.)

In gimp_paint_core_paste() it's always used together with
CANVAS_BUFFER_TO_PAINT_BUF_ALPHA, which matches a combined
algorithm, preventing it from being called, however, it can still
be called through gimp_paint_core_replace(), which uses it
together with CANVAS_BUFFER_TO_COMP_MASK, which doesn't have a
combined algorithm.  We can, however, filter out
CANVAS_BUFFER_TO_PAINT_BUF_ALPHA whenver
COMBINE_PAINT_MASK_TO_CANVAS_BUFFER is matched (since the combined
algorithm will be matched beforehand when both algorithms are
included).

(cherry picked from commit 6fe57a946b)
2019-02-16 14:19:20 -05:00
Ell
99130068bc app: in gimp:mask-components, handle half-precision float formats
(cherry picked from commit 7c1429d1ff)
2019-02-16 13:10:12 -05:00
Ell
d424a418cb app: in GimpDrawableFilter, don't mask-out alpha comonent for alpha-less drawables
In gimp_drawable_filter_sync_affect(), don't mask-out the filter's
alpha component when the drawable doesn't have an alpha channel,
since this is no longer necessary -- we now explicitly convert the
output to the drawable format as part of the graph -- and it
prevents the gimp:mask-components node from becoming a NOP.

(cherry picked from commit af2c7d1b33)
2019-02-16 13:10:12 -05:00