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:
- set_entered_track (0);
- set_entered_regionview (0);
+ if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
+ set_entered_regionview (0);
+ ret = true;
+ }
break;
default:
case GDK_ENTER_NOTIFY:
set_entered_track (tv);
+ ret = true;
break;
case GDK_LEAVE_NOTIFY:
}
- /* 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
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;
}
- /* 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
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;
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;
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;
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;