[gimp/gimp-2-6] Bug 593848 - FG color changed to black when FG-BG Editor tab created
- From: Michael Natterer <mitch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-6] Bug 593848 - FG color changed to black when FG-BG Editor tab created
- Date: Sun, 8 Nov 2009 13:28:32 +0000 (UTC)
commit b8c28ab2b4b96c57f25bba0489de7655f685a012
Author: Michael Natterer <mitch gimp org>
Date: Sun Nov 8 14:22:26 2009 +0100
Bug 593848 - FG color changed to black when FG-BG Editor tab created
When a color gets set on the module via GimpColorSelector::set_color(),
make sure that the result of its transformation to CMYK doesn't
get set back on GIMP. Also, when the color profile changes, make
sure we only re-transform the RGB value to CMYK and don't set that
result back on GIMP either.
(cherry picked from commit 659cf3743e3c48e18a08ba41c83c7ef77c841410)
modules/color-selector-cmyk-lcms.c | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
---
diff --git a/modules/color-selector-cmyk-lcms.c b/modules/color-selector-cmyk-lcms.c
index a49d553..f0e3472 100644
--- a/modules/color-selector-cmyk-lcms.c
+++ b/modules/color-selector-cmyk-lcms.c
@@ -245,6 +245,8 @@ colorsel_cmyk_set_color (GimpColorSelector *selector,
const GimpHSV *hsv)
{
ColorselCmyk *module = COLORSEL_CMYK (selector);
+ gdouble values[4];
+ gint i;
if (module->rgb2cmyk)
{
@@ -267,10 +269,23 @@ colorsel_cmyk_set_color (GimpColorSelector *selector,
gimp_rgb_to_cmyk (rgb, 1.0, &module->cmyk);
}
- gtk_adjustment_set_value (module->adj[0], module->cmyk.c * 100.0);
- gtk_adjustment_set_value (module->adj[1], module->cmyk.m * 100.0);
- gtk_adjustment_set_value (module->adj[2], module->cmyk.y * 100.0);
- gtk_adjustment_set_value (module->adj[3], module->cmyk.k * 100.0);
+ values[0] = module->cmyk.c * 100.0;
+ values[1] = module->cmyk.m * 100.0;
+ values[2] = module->cmyk.y * 100.0;
+ values[3] = module->cmyk.k * 100.0;
+
+ for (i = 0; i < 4; i++)
+ {
+ g_signal_handlers_block_by_func (module->adj[i],
+ colorsel_cmyk_adj_update,
+ module);
+
+ gtk_adjustment_set_value (module->adj[i], values[i]);
+
+ g_signal_handlers_unblock_by_func (module->adj[i],
+ colorsel_cmyk_adj_update,
+ module);
+ }
}
static void
@@ -440,5 +455,5 @@ colorsel_cmyk_config_changed (ColorselCmyk *module)
out:
if (! module->in_destruction)
- gimp_color_selector_set_color (selector, &selector->rgb, &selector->hsv);
+ colorsel_cmyk_set_color (selector, &selector->rgb, &selector->hsv);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]