diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index 06621a20e2..452c17aad3 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -1229,7 +1229,7 @@ AudioRegionView::add_ghost (TimeAxisView& tv) } void -AudioRegionView::entered () +AudioRegionView::entered (bool internal_editing) { if (gain_line && _flags & EnvelopeVisible) { gain_line->show_all_control_points (); @@ -1239,7 +1239,7 @@ AudioRegionView::entered () UINT_TO_RGBA(fade_color,&r,&g,&b,&a); a=255; - if (fade_in_handle) { + if (fade_in_handle && !internal_editing) { fade_in_handle->property_fill_color_rgba() = RGBA_TO_UINT(r,g,b,a); fade_out_handle->property_fill_color_rgba() = RGBA_TO_UINT(r,g,b,a); } @@ -1484,4 +1484,4 @@ AudioRegionView::remove_transient(float pos) break; } } -} \ No newline at end of file +} diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h index 0e2b54130c..270f982146 100644 --- a/gtk2_ardour/audio_region_view.h +++ b/gtk2_ardour/audio_region_view.h @@ -111,7 +111,7 @@ class AudioRegionView : public RegionView void show_region_editor (); - virtual void entered (); + virtual void entered (bool); virtual void exited (); protected: diff --git a/gtk2_ardour/automation_region_view.cc b/gtk2_ardour/automation_region_view.cc index feb40c3ddf..d403f0e90e 100644 --- a/gtk2_ardour/automation_region_view.cc +++ b/gtk2_ardour/automation_region_view.cc @@ -186,7 +186,7 @@ AutomationRegionView::region_resized (const PBD::PropertyChange& what_changed) void -AutomationRegionView::entered() +AutomationRegionView::entered (bool) { if (_line) _line->track_entered(); diff --git a/gtk2_ardour/automation_region_view.h b/gtk2_ardour/automation_region_view.h index 691e2cd050..9654d6afa1 100644 --- a/gtk2_ardour/automation_region_view.h +++ b/gtk2_ardour/automation_region_view.h @@ -68,7 +68,7 @@ protected: void region_resized (const PBD::PropertyChange&); bool canvas_event(GdkEvent* ev); void add_automation_event (GdkEvent* event, nframes_t when, double y); - void entered(); + void entered (bool); void exited(); private: diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 23a9a787a4..4d1554d7d2 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -797,7 +797,7 @@ Editor::set_entered_regionview (RegionView* rv) } if ((entered_regionview = rv) != 0) { - entered_regionview->entered (); + entered_regionview->entered (internal_editing ()); } } diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 378a8ecf32..1acfef6411 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -1612,7 +1612,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_ break; case FadeInHandleItem: - if (mouse_mode == MouseObject) { + if (mouse_mode == MouseObject && !internal_editing()) { ArdourCanvas::SimpleRect *rect = dynamic_cast (item); if (rect) { rect->property_fill_color_rgba() = 0; @@ -1623,7 +1623,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_ break; case FadeOutHandleItem: - if (mouse_mode == MouseObject) { + if (mouse_mode == MouseObject && !internal_editing()) { ArdourCanvas::SimpleRect *rect = dynamic_cast (item); if (rect) { rect->property_fill_color_rgba() = 0; diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h index 29a19260cb..5421d7d613 100644 --- a/gtk2_ardour/region_view.h +++ b/gtk2_ardour/region_view.h @@ -83,7 +83,7 @@ class RegionView : public TimeAxisViewItem uint32_t get_fill_color (); - virtual void entered () {} + virtual void entered (bool) {} virtual void exited () {} virtual void enable_display(bool yn) { _enable_display = yn; }