projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
delete canvas Flag object when deleting a PatchChange, and provide a canvas debug...
[ardour.git]
/
gtk2_ardour
/
editor_canvas_events.cc
diff --git
a/gtk2_ardour/editor_canvas_events.cc
b/gtk2_ardour/editor_canvas_events.cc
index 5bd0060d231d8eda915d4ec02464a1319bc2d0d9..e94ffe2798102881a94330cb8182b9e826ad2ff9 100644
(file)
--- a/
gtk2_ardour/editor_canvas_events.cc
+++ b/
gtk2_ardour/editor_canvas_events.cc
@@
-267,13
+267,17
@@
Editor::canvas_region_view_event (GdkEvent *event, ArdourCanvas::Item* item, Reg
break;
case GDK_ENTER_NOTIFY:
break;
case GDK_ENTER_NOTIFY:
- set_entered_track (&rv->get_time_axis_view ());
- set_entered_regionview (rv);
+ if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
+ set_entered_regionview (rv);
+ ret = true;
+ }
break;
case GDK_LEAVE_NOTIFY:
break;
case GDK_LEAVE_NOTIFY:
- set_entered_track (0);
- set_entered_regionview (0);
+ if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
+ set_entered_regionview (0);
+ ret = true;
+ }
break;
default:
break;
default:
@@
-309,6
+313,7
@@
Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, Rou
case GDK_ENTER_NOTIFY:
set_entered_track (tv);
case GDK_ENTER_NOTIFY:
set_entered_track (tv);
+ ret = true;
break;
case GDK_LEAVE_NOTIFY:
break;
case GDK_LEAVE_NOTIFY:
@@
-462,9
+467,13
@@
Editor::canvas_fade_in_event (GdkEvent *event, ArdourCanvas::Item* item, AudioRe
}
}
- /* proxy for the regionview */
+ /* proxy for the regionview
, except enter/leave events
*/
- return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ if (event->type == GDK_ENTER_NOTIFY || event->type == GDK_LEAVE_NOTIFY) {
+ return true;
+ } else {
+ return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ }
}
bool
}
bool
@@
-497,12
+506,10
@@
Editor::canvas_fade_in_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
break;
case GDK_ENTER_NOTIFY:
break;
case GDK_ENTER_NOTIFY:
- set_entered_regionview (rv);
ret = enter_handler (item, event, FadeInHandleItem);
break;
case GDK_LEAVE_NOTIFY:
ret = enter_handler (item, event, FadeInHandleItem);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, FadeInHandleItem);
break;
ret = leave_handler (item, event, FadeInHandleItem);
break;
@@
-544,9
+551,13
@@
Editor::canvas_fade_out_event (GdkEvent *event, ArdourCanvas::Item* item, AudioR
}
}
- /* proxy for the regionview */
+ /* proxy for the regionview
, except enter/leave events
*/
- return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ if (event->type == GDK_ENTER_NOTIFY || event->type == GDK_LEAVE_NOTIFY) {
+ return true;
+ } else {
+ return canvas_region_view_event (event, rv->get_canvas_group(), rv);
+ }
}
bool
}
bool
@@
-579,12
+590,10
@@
Editor::canvas_fade_out_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
break;
case GDK_ENTER_NOTIFY:
break;
case GDK_ENTER_NOTIFY:
- set_entered_regionview (rv);
ret = enter_handler (item, event, FadeOutHandleItem);
break;
case GDK_LEAVE_NOTIFY:
ret = enter_handler (item, event, FadeOutHandleItem);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, FadeOutHandleItem);
break;
ret = leave_handler (item, event, FadeOutHandleItem);
break;
@@
-783,12
+792,10
@@
Editor::canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item* item, Re
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
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:
ret = enter_handler (item, event, type);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, type);
break;
ret = leave_handler (item, event, type);
break;
@@
-827,12
+834,10
@@
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:
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:
ret = enter_handler (item, event, RegionViewNameHighlight);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, RegionViewNameHighlight);
break;
ret = leave_handler (item, event, RegionViewNameHighlight);
break;
@@
-869,12
+874,10
@@
Editor::canvas_region_view_name_event (GdkEvent *event, ArdourCanvas::Item* item
ret = motion_handler (item, event);
break;
case GDK_ENTER_NOTIFY:
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:
ret = enter_handler (item, event, RegionViewName);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_regionview (0);
ret = leave_handler (item, event, RegionViewName);
break;
ret = leave_handler (item, event, RegionViewName);
break;