summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ui/selected-color.cpp1
-rw-r--r--src/ui/widget/color-wheel-selector.cpp8
2 files changed, 5 insertions, 4 deletions
diff --git a/src/ui/selected-color.cpp b/src/ui/selected-color.cpp
index 8c37ee7e0..846d50a5b 100644
--- a/src/ui/selected-color.cpp
+++ b/src/ui/selected-color.cpp
@@ -139,7 +139,6 @@ void SelectedColor::setHeld(bool held) {
if (released) {
signal_released.emit();
- signal_changed.emit();
}
_updating = false;
}
diff --git a/src/ui/widget/color-wheel-selector.cpp b/src/ui/widget/color-wheel-selector.cpp
index ed3400bb5..cac812640 100644
--- a/src/ui/widget/color-wheel-selector.cpp
+++ b/src/ui/widget/color-wheel-selector.cpp
@@ -246,21 +246,23 @@ void ColorWheelSelector::_wheelChanged(GimpColorWheel *wheel, ColorWheelSelector
guint32 end = color.toRGBA32(0xff);
wheelSelector->_slider->setColors(start, mid, end);
-
wheelSelector->_color.preserveICC();
+ wheelSelector->_updating = true;
wheelSelector->_color.setHeld(gimp_color_wheel_is_adjusting(wheel));
wheelSelector->_color.setColor(color);
+ wheelSelector->_updating = false;
}
void ColorWheelSelector::_updateDisplay()
{
+ if(_updating) { return; }
+
#ifdef DUMP_CHANGE_INFO
g_message("ColorWheelSelector::_colorChanged( this=%p, %f, %f, %f, %f)", this, _color.color().v.c[0],
_color.color().v.c[1], _color.color().v.c[2], alpha);
#endif
- bool oldval = _updating;
_updating = true;
{
float hsv[3] = { 0, 0, 0 };
@@ -276,7 +278,7 @@ void ColorWheelSelector::_updateDisplay()
ColorScales::setScaled(_alpha_adjustment->gobj(), _color.alpha());
- _updating = oldval;
+ _updating = false;
}