gimp/app/operations/layer-modes
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
..
.gitignore app: start moving layer modes into their own build directories 2017-01-09 21:58:18 +01:00
Makefile.am app: add dedicated op for pass through mode, with shortcuts 2017-08-31 11:39:38 -04:00
gimp-layer-modes.c app: fix "Luma Lighten/Darken only" layer modes. 2020-11-10 17:25:34 +01:00
gimp-layer-modes.h app: fix autotools build. 2020-11-10 12:52:01 +01:00
gimpoperationantierase.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationantierase.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationbehind.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationbehind.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationdissolve.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationdissolve.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationerase.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationerase.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationlayermode-blend.c app: clean up Luminance blend function 2019-06-10 10:53:00 -04:00
gimpoperationlayermode-blend.h app: add GeglOperation *operation argument to GimpLayerModeBlendFunc 2019-06-09 12:35:45 +02:00
gimpoperationlayermode-composite-sse2.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationlayermode-composite.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationlayermode-composite.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationlayermode.c app: fix "Luma Lighten/Darken only" layer modes. 2020-11-10 17:25:34 +01:00
gimpoperationlayermode.h app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationmerge.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationmerge.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationnormal-sse2.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationnormal-sse4.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationnormal.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationnormal.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationpassthrough.c app: change behavior of REPLACE mode for fully-transparent pixels 2019-02-14 11:04:53 -05:00
gimpoperationpassthrough.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationreplace.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationreplace.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpoperationsplit.c app: fix compositing of layers with masks, outside the mask bounds 2020-02-21 22:54:16 +02:00
gimpoperationsplit.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
meson.build Meson port. 2019-09-11 16:42:04 +02:00