diff options
-rw-r--r-- | gtk2_ardour/stripable_colorpicker.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk2_ardour/stripable_colorpicker.cc b/gtk2_ardour/stripable_colorpicker.cc index a7db947df8..2e341f4d7e 100644 --- a/gtk2_ardour/stripable_colorpicker.cc +++ b/gtk2_ardour/stripable_colorpicker.cc @@ -70,12 +70,19 @@ void StripableColorDialog::reset () { hide (); + if (_stripable && _stripable->active_color_picker() == this) { + _stripable->set_active_color_picker (0); + } _stripable.reset (); } void StripableColorDialog::popup (boost::shared_ptr<ARDOUR::Stripable> s) { + if (s && s->active_color_picker()) { + s->active_color_picker()->present (); + return; + } if (_stripable == s) { /* keep modified color */ present (); @@ -83,6 +90,7 @@ StripableColorDialog::popup (boost::shared_ptr<ARDOUR::Stripable> s) } _stripable = s; + _stripable->set_active_color_picker (this); set_title (string_compose (_("Color Selection: %1"), s->name())); get_colorsel()->set_has_opacity_control (false); |