summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2016-03-29 00:49:42 +0000
committerMartin Owens <doctormo@gmail.com>2016-03-29 00:49:42 +0000
commit401c2f70ce1ffcdf7a041c27df8c06e19f42e847 (patch)
tree63bc18ece8bf0b487790a6ccecefff939b4eae07 /src/ui
parentTranslations. zh_CN translation update. (diff)
downloadinkscape-401c2f70ce1ffcdf7a041c27df8c06e19f42e847.tar.gz
inkscape-401c2f70ce1ffcdf7a041c27df8c06e19f42e847.zip
Fix bugs with the colour selector self-signaling on change.
Fixed bugs: - https://launchpad.net/bugs/1462907 - https://launchpad.net/bugs/1249618 (bzr r14747)
Diffstat (limited to 'src/ui')
-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;
}