From cd9885ddc7dfbf7769f902dd7ee043892a2c8ee9 Mon Sep 17 00:00:00 2001 From: Tomasz Boczkowski Date: Sat, 9 May 2015 14:53:54 +0200 Subject: fixed crash in paint selector when changing from gradient to solid color (bzr r14059.1.23) --- src/ui/selected-color.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/ui/selected-color.cpp') diff --git a/src/ui/selected-color.cpp b/src/ui/selected-color.cpp index 7652e5acf..6573129d3 100644 --- a/src/ui/selected-color.cpp +++ b/src/ui/selected-color.cpp @@ -72,7 +72,7 @@ guint32 SelectedColor::value() const return color().toRGBA32(_alpha); } -void SelectedColor::setColorAlpha(SPColor const &color, gfloat alpha) +void SelectedColor::setColorAlpha(SPColor const &color, gfloat alpha, bool emit_signal) { #ifdef DUMP_CHANGE_INFO g_message("SelectedColor::setColorAlpha( this=%p, %f, %f, %f, %s, %f, %s) in %s", this, color.v.c[0], color.v.c[1], color.v.c[2], (color.icc?color.icc->colorProfile.c_str():""), alpha, (emit?"YES":"no"), FOO_NAME(_csel)); @@ -100,13 +100,16 @@ void SelectedColor::setColorAlpha(SPColor const &color, gfloat alpha) _color = color; _alpha = alpha; - _updating = true; - if (_held) { - signal_dragged.emit(); - } else { - signal_changed.emit(); + if (emit_signal) + { + _updating = true; + if (_held) { + signal_dragged.emit(); + } else { + signal_changed.emit(); + } + _updating = false; } - _updating = false; #ifdef DUMP_CHANGE_INFO } else { -- cgit v1.2.3