gimp/app/operations
Jehan 75e6f1062e app: fix "Luma Lighten/Darken only" layer modes.
This is a continuation of #5888 as I realized that most layer modes were
fixed with my commit b3fc24268a (and follow-up f40dc40cbc) but at least
2 were still crashing GIMP: "Luma Lighten/Darken only" modes.

There were 2 bugs here:

* The first bug was that when gimp_operation_layer_mode_real_process()
  ran, gimp_operation_layer_mode_prepare() had not been run yet.
  prepare() is called before the process() of GeglOperation, but it
  would seem the process() of GimpOperationLayerMode on the other end
  happens before GeglOperation's prepare() is run. I am absolutely
  unsure if this is expected or not and have a hard time figuring out
  all the details of the C/C++ cohabitation.
  As a solution, I am moving out the fish caching (the needed part
  inside gimp_operation_layer_mode_real_process()) in its own function
  so that I can easily call it separately before inspecting the fishes.

* The second issue was that some blend functions needed more than a
  GeglOperation alone. E.g. blend_function() for luma lighten
  gimp_operation_layer_mode_blend_luma_lighten_only() would call
  gegl_operation_get_source_space() which requires the node to exist.
  Similarly for the Luma darken only mode. So I keep both the node and
  operation around, and when finalizing, I free the node (which in turn
  frees the operation).

Ell > if you are reading our commits, I would really appreciate your
review (or fixes) of my code here! :)
2020-11-10 17:25:34 +01:00
..
layer-modes app: fix "Luma Lighten/Darken only" layer modes. 2020-11-10 17:25:34 +01:00
layer-modes-legacy Meson port. 2019-09-11 16:42:04 +02:00
tests Meson port. 2019-09-11 16:42:04 +02:00
.gitignore enums: add intermediate generated enum files to .gitignore 2017-08-24 15:35:27 -04:00
Makefile.am app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimp-operation-config.c app: apply "trc" setting when repeating curves and levels 2020-04-13 02:03:40 +03:00
gimp-operation-config.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-operations.c app: fix autotools build. 2020-11-10 12:52:01 +01:00
gimp-operations.h app: fix autotools build. 2020-11-10 12:52:01 +01:00
gimpbrightnesscontrastconfig.c app: maintain common settings when editing Brightness-Contrast/Levels as Levels/Curves 2020-04-14 18:03:05 +03:00
gimpbrightnesscontrastconfig.h app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimpcageconfig.c app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimpcageconfig.h app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimpcolorbalanceconfig.c app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimpcolorbalanceconfig.h app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimpcurvesconfig.c app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimpcurvesconfig.h app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimphuesaturationconfig.c app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimphuesaturationconfig.h app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimplevelsconfig.c app: maintain common settings when editing Brightness-Contrast/Levels as Levels/Curves 2020-04-14 18:03:05 +03:00
gimplevelsconfig.h app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00
gimpoperationborder.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationborder.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationbrightnesscontrast.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationbrightnesscontrast.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationbuffersourcevalidate.c app: add "chunked" parameter to gimp_tile_handler_validate_validate() 2020-03-14 13:54:57 +02:00
gimpoperationbuffersourcevalidate.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcagecoefcalc.c app: replace use of deprecated dont-cache/no_cache with cache-policy 2019-02-21 13:09:45 -05:00
gimpoperationcagecoefcalc.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcagetransform.c Issue 3100: cage transform tool -> always blurred without any action 2019-09-07 01:23:54 +02:00
gimpoperationcagetransform.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcolorbalance.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcolorbalance.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcolorize.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcolorize.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcomposecrop.c app: in gimp:compose-crop, fix x/y properties lower bound 2019-08-02 00:40:01 +03:00
gimpoperationcomposecrop.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationcurves.c Initial space invasion commit in GIMP 2018-07-21 16:42:57 +02:00
gimpoperationcurves.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationdesaturate.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpoperationdesaturate.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationequalize.c app: streamline GimpHistogram; avoid spurious channel switch in histogram view 2019-10-22 15:50:13 +03:00
gimpoperationequalize.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationfillsource.c app: remove gimp_gegl_rectangle_align_to_tile_grid() 2019-07-30 20:32:08 +03:00
gimpoperationfillsource.h app: add gimp:fill-source operation 2019-03-27 15:45:59 -04:00
gimpoperationflood.c Change a bazillion URLs to https:// 2018-07-14 14:19:27 +02:00
gimpoperationflood.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationgradient.c app: fix offset handling in spiral gradients 2019-09-27 16:07:21 +03:00
gimpoperationgradient.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationgrow.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationgrow.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationhistogramsink.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationhistogramsink.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationhuesaturation.c Allow full range to Hue-Saturation Lightness slider 2019-09-06 10:31:54 +02:00
gimpoperationhuesaturation.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationlevels.c app: fix gimp_operation_levels_map_input() for negative values 2019-04-19 10:32:05 -04:00
gimpoperationlevels.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationmaskcomponents.cc app: in gimp:mask-components, implement GeglOperation::get_bounding_box() 2019-08-02 00:40:01 +03:00
gimpoperationmaskcomponents.h app: add "alpha" propertry to gimp:mask-components 2019-05-31 13:11:14 -04:00
gimpoperationoffset.c app: indentation fix in gimp:offset 2019-06-07 03:54:36 -04:00
gimpoperationoffset.h app, libgimpbase: add gimp:offset operation 2019-06-05 19:06:48 -04:00
gimpoperationpointfilter.c Initial space invasion commit in GIMP 2018-07-21 16:42:57 +02:00
gimpoperationpointfilter.h Initial space invasion commit in GIMP 2018-07-21 16:42:57 +02:00
gimpoperationposterize.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpoperationposterize.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationprofiletransform.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationprofiletransform.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationscalarmultiply.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationscalarmultiply.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationsemiflatten.c Issue #2848: some sentences have no translation. 2019-01-24 16:14:46 +01:00
gimpoperationsemiflatten.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationsetalpha.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationsetalpha.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationsettings.c app: add "Fade" options to filter tools 2020-04-07 19:40:05 +03:00
gimpoperationsettings.h app: add "Fade" options to filter tools 2020-04-07 19:40:05 +03:00
gimpoperationshrink.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationshrink.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationthreshold.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimpoperationthreshold.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationthresholdalpha.c Issue #2848: some sentences have no translation. 2019-01-24 16:14:46 +01:00
gimpoperationthresholdalpha.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
meson.build app: add gimpoperationsettings.c to meson.build 2020-04-07 20:11:53 +03:00
operations-enums.c app: rename "Fade" section of GimpFilterTool to "Blending Options" 2020-04-08 15:59:33 +03:00
operations-enums.h app: rename "Fade" section of GimpFilterTool to "Blending Options" 2020-04-08 15:59:33 +03:00
operations-types.h app: add GimpOperationSettings 2020-04-07 19:26:28 +03:00