13
0

Set entered_regionview on entry into region view canvas item children. Should fix #3300.

git-svn-id: svn://localhost/ardour2/branches/3.0@7372 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-07-05 01:55:07 +00:00
parent 839402778f
commit c686dee0ce
2 changed files with 13 additions and 0 deletions

View File

@ -1928,6 +1928,9 @@ public:
sigc::connection step_timeout;
TimeAxisView* entered_track;
/** If the mouse is over a RegionView or one of its child canvas items, this is set up
to point to the RegionView. Otherwise it is 0.
*/
RegionView* entered_regionview;

View File

@ -406,10 +406,12 @@ Editor::canvas_fade_in_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
break;
case GDK_ENTER_NOTIFY:
set_entered_regionview (rv);
ret = enter_handler (item, event, FadeInHandleItem);
break;
case GDK_LEAVE_NOTIFY:
set_entered_regionview (0);
ret = leave_handler (item, event, FadeInHandleItem);
break;
@ -485,10 +487,12 @@ Editor::canvas_fade_out_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
break;
case GDK_ENTER_NOTIFY:
set_entered_regionview (rv);
ret = enter_handler (item, event, FadeOutHandleItem);
break;
case GDK_LEAVE_NOTIFY:
set_entered_regionview (0);
ret = leave_handler (item, event, FadeOutHandleItem);
break;
@ -793,10 +797,12 @@ Editor::canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item* item, Re
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
set_entered_regionview (rv);
ret = enter_handler (item, event, type);
break;
case GDK_LEAVE_NOTIFY:
set_entered_regionview (0);
ret = leave_handler (item, event, type);
break;
@ -835,10 +841,12 @@ Editor::canvas_region_view_name_highlight_event (GdkEvent* event, ArdourCanvas::
ret = true; // force this to avoid progagating the event into the regionview
break;
case GDK_ENTER_NOTIFY:
set_entered_regionview (rv);
ret = enter_handler (item, event, RegionViewNameHighlight);
break;
case GDK_LEAVE_NOTIFY:
set_entered_regionview (0);
ret = leave_handler (item, event, RegionViewNameHighlight);
break;
@ -875,10 +883,12 @@ Editor::canvas_region_view_name_event (GdkEvent *event, ArdourCanvas::Item* item
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
set_entered_regionview (rv);
ret = enter_handler (item, event, RegionViewName);
break;
case GDK_LEAVE_NOTIFY:
set_entered_regionview (0);
ret = leave_handler (item, event, RegionViewName);
break;