From fc8a2185a583bc5d9fc8bc04cd1c7148247a7cfa Mon Sep 17 00:00:00 2001 From: Alexia Death Date: Sun, 7 Dec 2014 19:26:52 +0200 Subject: [PATCH] pdb: make channel mixer compat function use mono-mixer for monochrome case --- app/pdb/plug-in-compat-cmds.c | 41 +++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/app/pdb/plug-in-compat-cmds.c b/app/pdb/plug-in-compat-cmds.c index 454722f6ac..6dfc040315 100644 --- a/app/pdb/plug-in-compat-cmds.c +++ b/app/pdb/plug-in-compat-cmds.c @@ -635,20 +635,33 @@ plug_in_colors_channel_mixer_invoker (GimpProcedure *procedure, GIMP_PDB_ITEM_CONTENT, error) && gimp_pdb_item_is_not_group (GIMP_ITEM (drawable), error)) { - GeglNode *node = - gegl_node_new_child (NULL, - "operation", "gegl:channel-mixer", - "monochrome", (gboolean) monochrome, - "rr-gain", (gdouble) rr_gain, - "rg-gain", (gdouble) rg_gain, - "rb-gain", (gdouble) rb_gain, - "gr-gain", (gdouble) gr_gain, - "gg-gain", (gdouble) gg_gain, - "gb-gain", (gdouble) gb_gain, - "br-gain", (gdouble) br_gain, - "bg-gain", (gdouble) bg_gain, - "bb-gain", (gdouble) bb_gain, - NULL); + GeglNode *node = NULL; + if ((gboolean) monochrome) + { + node = + gegl_node_new_child (NULL, + "operation", "gegl:mono-mixer", + "red", (gdouble) rr_gain, + "green", (gdouble) rg_gain, + "blue", (gdouble) rb_gain, + NULL); + } + else + { + node = + gegl_node_new_child (NULL, + "operation", "gegl:channel-mixer", + "rr-gain", (gdouble) rr_gain, + "rg-gain", (gdouble) rg_gain, + "rb-gain", (gdouble) rb_gain, + "gr-gain", (gdouble) gr_gain, + "gg-gain", (gdouble) gg_gain, + "gb-gain", (gdouble) gb_gain, + "br-gain", (gdouble) br_gain, + "bg-gain", (gdouble) bg_gain, + "bb-gain", (gdouble) bb_gain, + NULL); + } gimp_drawable_apply_operation (drawable, progress, C_("undo-type", "Channel Mixer"),