Commit Graph

40405 Commits

Author SHA1 Message Date
Marco Ciampa 7f96c9e7c6 Updated Italian translation 2018-03-27 12:25:33 +02:00
Ell 956ca8e3a3 app: small fix to gimp_operation_buffer_source_validate_process()
Fix tile-grid realignemnt after intersecting the ROI with the dirty
region.
2018-03-26 19:15:20 -04:00
Michael Natterer e5e14b3898 configure.ac: bump version to 2.10.0-RC1 2018-03-27 01:07:28 +02:00
Michael Natterer 368c7c0511 docs, etc: default gimprc and its manpage regenerated by distcheck 2018-03-27 01:07:28 +02:00
Ell caa3a98f04 Bug 790810 - Nested layer groups lead to a deadlock with multithreading
In gimp_operation_buffer_source_validate_process(), align the ROI
to the tile grid *before* intersecting it with the validate-
handler's dirty region.  This is necessary since, even though
subsequent operations will only read data within the ROI, the
entire tiles containing the ROI will be fetched, resulting in an
area potentially greater than the ROI.  We need to validate this
area in advance, or else it will be validated as part of the
subsequent operations, which can lead into the same deadlock we're
trying to prevent.
2018-03-26 19:04:34 -04:00
Piotr Drąg e4d2de7dde Update Polish translation
String freeze, eh?
2018-03-26 23:55:30 +02:00
Michael Natterer 8c0d30004f NEWS: some small fixes 2018-03-26 23:42:46 +02:00
Jehan 7409c98893 devel-docs: add OS support specific information.
I create this file so that we can refer to it to know whether we can use
a OS-specific API, or if we want to know if we can safely bump a
dependency, etc.
2018-03-26 23:32:38 +02:00
Kristian Rietveld ce3899e722 libgimpwidgets: gimppickbutton-quartz: do not release color_space
The color_space reference should not be released because it was obtained
with a Get-function, which means we do not have ownership.
2018-03-26 22:59:01 +02:00
Kristian Rietveld 0e9e167da8 libgimpwidgets: make pick button quartz work on macOS < 10.12
The symbol CGColorSpaceCopyICCData() is only available on macOS 10.12
and higher. We want GIMP to run from 10.9 onwards, so use the older
symbol CGColorSpaceCopyICCProfile() even though this one is deprecated.
2018-03-26 22:59:01 +02:00
Ell b2d40eb994 data: don't install gimp-splash.xcf
We only need it in git.
2018-03-26 15:37:01 -04:00
Zhouyang a6fd24a953 Bug 793951 - Fix crashes when some external APIs fail
Check the return values of some functions and set errors or print
a message to stderr if they fail.
2018-03-26 21:27:42 +02:00
Jehan fae9c28354 app: splash max size now half of width and height.
Apparently former 2/3 value was too big according to some.
This makes the splash take now at most a quarter of the screen area. I
really don't think that's too much anymore.
2018-03-26 21:20:17 +02:00
Anders Jonsson b6fbf37730 Update Swedish translation 2018-03-26 18:04:34 +00:00
Michael Natterer 7c4f7c53ea Bug 794679 - warning on scrolling in the gradient dock
Validate all enum fields in gimp_gradient_load(), and reject
gradients with out-of-range values.
2018-03-26 18:54:43 +02:00
Ell 806d1b0510 app: fix resizing of image-sized layers when resizing canvas
In gimp_image_resize_with_layers(), calculate the set of resized
layers before changing the image size, so that we correctly
identify image-sized layers w.r.t. the old image size.  (Fixes
commit 139a23451ddc588c91610f67daa799afc2f89080.)
2018-03-26 04:38:47 -04:00
Jehan 20fc93fde0 devel-docs: update the release procedure regarding appdata contents. 2018-03-26 01:41:32 +02:00
Jehan 2cf6d88ac1 desktop: 2.10.0-rc1 will actually be released on the 26th. 2018-03-26 01:31:26 +02:00
Jehan 9f3ee499c1 app: run errors_init() after gimp_load_config().
Since error handling is based on preferences, the config needs to be
loaded first. Otherwise the gimp->config object does not exist yet and
we get a bunch of "'G_IS_OBJECT (object)' failed" assertion which
recurse in error handling when trying to get the "debug-policy"
property.
Just init the error handling later. It means it won't handle early
loading code, but that is not much of an issue.
2018-03-26 01:22:36 +02:00
Alexandre Prokoudine 3261e03d22 Update Russian translation 2018-03-25 23:28:06 +03:00
Massimo Valentini f561231e1f app: various speedups to gimp_brush_core_color_area_with_pixmap()
In gimp_brush_core_color_area_with_pixmap(), use the native area
format when painting the brush, instead of always going through
"RGBA float", and create the pixmap -> area fish only once, instead
of once per scanrow.

In gimp_brush_core_paint_line_pixmap_mask(), avoid modulus
calculation at each pixel.

See bug #694917.
2018-03-25 15:22:47 -04:00
Piotr Drąg 67041d6b82 Update Polish translation 2018-03-25 20:45:38 +02:00
Alexandre Prokoudine 05a1dadf66 Add new splash screen with undecipherable easter egg, both PNG and XCF 2018-03-25 21:38:04 +03:00
Ell e931d354ab build: update Windows installer splash for 2.10 RC 2018-03-25 13:31:26 -04:00
Jehan 923ffb7e53 devel-docs: adding new splash requirements.
Current splash is not right within these requirements. But that's all
right for this RC.
These requirements are meant to be followed from next release.
2018-03-25 18:19:24 +02:00
Ell 5763b50d45 app: round layer bounds to global pixel grid when scaling image/group
Add gimp_item_scale_by_factors_with_origin(), which is an extension
of gimp_item_scale_by_factors(), taking the input/output points of
origin for the transformation (both of which are (0, 0) in the case
of gimp_item_scale_by_factors()).  Implement
gimp_item_scale_by_factors() in terms of the new function, and Use
the new function when scaling group layers, instead of manually
calculating the children boundaries, so that the behavior is
uniform across whole-image scaling and group-layer scaling.

The new function rounds all four edges of the boundary to the
image-global pixel grid, instead of only rounding the top/left
edges to the global grid, and the bottom/right edges to the item-
local grid.  This preserves layer-adjacency when scaling.
2018-03-25 11:46:42 -04:00
Ell 139a23451d app: use GimpObjectQueue in lots of places
Use GimpObjectQueue, added in the previous commit, in various
instances where we perform an action on a set of objects.  This
improves progress reporting, by using a single progress for the
entire operation, rather than reporting the progress of each object
individually, and by taking the relative cost of each object into
account, instead of assuming a uniform cost for all objects.

In particular, this affects the various whole-image operations
(i.e., transformations and color conversions), operations on linked
items, and operations on layer groups.  This also affects layers
with masks, whose progress is now reported together instead of
individually.

Additionally, this commit fixes erroneous group-layer mask cropping
during undo when resizing the image, by properly calling
{start,end}_move() on all the resized layers before starting the
operation, and when scaling the image, by only scaling top-level
layers, and letting group layers scale their children themselves.
2018-03-25 11:46:42 -04:00
Ell 3ee5054eb7 app: add GimpObjectQueue
GimpObjectQueue implements a queue of GimpObjects.  It derives from
GimpSubProgress, and hence can be used as a GimpProgress object.
It keeps track of the total memsize of the objects that were
pushed-to and popped-from the queue, and uses these numbers to set
the corresponding subrange of the progress object when an object is
popped.

This provides an easy way to perform an operation on a set of
objects, correctly reporting progress based on the relative sizes
of the objects, which is assumed to be a good estimate of the
relative cost of processing each object.
2018-03-25 11:46:42 -04:00
Ell 0f532787c9 app: add "progress" property to GimpSubProgress
Make the parent GimpProgress object of a GimpSubProgress instance
settable through a property during construction, so that we can use
it as a base class.
2018-03-25 11:46:42 -04:00
Ell 76a88cc60a app: fix layer-group mask cropping during move operation undo
In gimp_group_layer_{start,end}_move(), push corresponding undo
steps, which perform the opposite operation during undo, and make
sure that mask-cropping is frozen during group-layer move
operations.

This fixed erroneous group-layer mask cropping when undoing/redoing
a group-layer move operation multiple times.
2018-03-25 11:46:42 -04:00
Jehan 6a825f18bb desktop, po: also update the appdata description.
GIMP 2.10 is 2.10.0 and "2.10 RC1" is "2.10.0-RC1".
I also update directly the Polish msgid and msgstr (only language having
a translation on time, though it's our fault!) to avoid the translation
getting fuzzy uselessly.
I let the "rc" as lowercase in version property of <release> tag,
assuming the more official/parsable name should be lowercase. Not sure
if it makes sense.
2018-03-25 14:44:42 +02:00
Jehan f8de23877f desktop: so the accurate naming of the release is "2.10.0-rc1". 2018-03-25 14:31:57 +02:00
Jehan c0343a5969 desktop: update the release date.
Seems it will be today after all!
2018-03-25 14:23:28 +02:00
Michael Natterer 1b623a99c8 Bug 794469 - Shift-click to create layer/channel/path...
...should really use last values

When creating a layer or channel "from last values", really use the
values last set be the user in the respective dialogs. In particular,
don't use properties of the active layer or channel. I have no idea
what we were thinking when adding that obscure logic.
2018-03-25 14:08:50 +02:00
Ell 8f07d76786 app: fix paste-in-place when pasting over a layer group/locked item
When pasting in place over a layer group or a content-locked item,
change the paste type to NEW_LAYER_IN_PLACE, rather than NEW_LAYER,
so that the new layer is still pasted in the right location.

Additionally, avoid showing the "Pasted as new layer because ..."
message when pasting over a layer group or a content-locked item,
when the paste type is NEW_LAYER[_IN_PLACE] to begin with.
2018-03-24 12:50:16 -04:00
Jehan 888baac9c8 Revert "app: tweak sessionrc-expected-2-6 for make check to succeed."
This reverts commit 554347e0ff.
For some weird reason, this fixed the `make check` but broke the `make
distcheck`. I am lost. Better revert, and now distcheck works great.
2018-03-24 05:25:52 +01:00
Jehan 554347e0ff app: tweak sessionrc-expected-2-6 for make check to succeed.
I'm not sure how useful is this test if we have to just constantly tweak
the sessionrc for it to pass. But well… here it is.
Now make check fully passes.
2018-03-24 03:47:21 +01:00
Jehan 9adeee9d25 app, po: revert commit a0724783d8 and add a TRANSLATORS comment.
Not using %d in the singular form of English does not prevent other
languages to use %d in any form they wish to. This will still work and
will still be replaced by the relevant number of images.
So I revert commit a0724783d8 because it is just prettier (in English)
to write "An image" rather than "1 image", but this does not mean you
have to do the same in other languages! Adding a comment so that
translators know about it.

Also directly modify the msgid in the Polish and Russian translations
which already translated this string, so that the translations does not
end up unnecessarily fuzzy.
2018-03-24 03:07:07 +01:00
Piotr Drąg 08c4f84430 Update Polish translation 2018-03-24 01:43:52 +01:00
Jehan c49e34cf7e app: shorten to "Debug Policy" the long label in Preferences.
The text was too long and increasing the minimum width of Preferences
dialog.
2018-03-24 01:26:47 +01:00
Alexandre Prokoudine 8266c2246e Update Russian translation 2018-03-24 01:43:43 +03:00
Piotr Drąg 501b0822b8 Update Polish translation 2018-03-23 21:24:52 +01:00
Alexandre Prokoudine a0724783d8 Plural forms work better this way for languages other than English 2018-03-23 22:58:39 +03:00
Piotr Drąg 9add6b92f3 Update Polish translation 2018-03-23 20:54:12 +01:00
Michael Natterer 6dafb02a11 app: fix capitalization of the image recovery dialog title 2018-03-23 20:35:01 +01:00
Piotr Drąg bb58eab607 Update Polish translation 2018-03-23 20:16:34 +01:00
Piotr Drąg f3b3770283 Update Polish translation 2018-03-23 20:13:47 +01:00
Ell f49e4b4263 Bug 794634 - CRITICAL when adding layers with Dissolve mode
Fix a CRITICAL when calling gimp_layer_mode_get_format() with an
AUTO composite space and a NULL preferred format, which is valid:
it means the layer mode is composite-space agnostic (as DISSOLVE
is), and that there's no preferred format.

A NULL preferred format can occur during
gimp_operation_layer_mode_prepare() if the layer's mode node is not
yet attached anything through its "input" or "aux" pads, which is
the case during the call to gimp_layer_update_mode_node() while
constructing the layer's node in gimp_layer_get_node().
2018-03-23 14:57:10 -04:00
Jehan a9c3b4c54d desktop: add a <release> tag for GIMP 2.10 RC1. 2018-03-23 19:48:40 +01:00
Øyvind Kolås a0c55a6b96 depend on GEGL 0.3.30 2018-03-23 19:05:54 +01:00