- if (!trackview.editor().internal_editing() &&
- e.current_mouse_mode() != Editing::MouseDraw) {
- // not in internal edit mode, so just act like a normal region
- return RegionView::canvas_group_event (ev);
- }
-
- if (ev->type == GDK_BUTTON_PRESS && e.current_mouse_mode() == Editing::MouseObject) {
-
- /* XXX: icky dcast to Editor */
- e.drags()->set (new EditorRubberbandSelectDrag (dynamic_cast<Editor*> (&e), group), ev);
- e.drags()->start_grab (ev);
- return true;
-
- } else if (ev->type == GDK_MOTION_NOTIFY && e.drags()->active()) {
- /* we probably shouldn't have to handle this here, but... */
- e.drags()->motion_handler(ev, false);
- return true;
-
- } else if (ev->type == GDK_BUTTON_RELEASE && e.current_mouse_mode() == Editing::MouseDraw) {
- if (e.drags()->end_grab (ev)) {
- return true;
- } else if (e.current_mouse_mode() != Editing::MouseDraw &&
- e.current_mouse_mode() != Editing::MouseObject) {
- return RegionView::canvas_group_event (ev);
- }
+ if (trackview.editor().internal_editing() &&
+ ev->type == GDK_BUTTON_RELEASE &&
+ e.current_mouse_mode() == Editing::MouseDraw &&
+ !e.drags()->active()) {