fix stuck key-grab/scrolling.
Problem: mouse-scrolling over a MIDI region in internal edit mode never released “magic widget focus” (mod keys and global scrolls after that were ignored). -> added to leave_notify. Also, the MouseModeChanged signal needs to be emitted when internal edit, mode changes in order to trigger MidiRegionView::mouse_mode_changed(), which in turn releases the magic focus while still hovering over a MIDI region.
This commit is contained in:
parent
a9532179d5
commit
148c1f1768
@ -2557,6 +2557,7 @@ Editor::set_internal_edit (bool yn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
reset_canvas_cursor ();
|
reset_canvas_cursor ();
|
||||||
|
MouseModeChanged ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update _join_object_range_state which indicate whether we are over the top
|
/** Update _join_object_range_state which indicate whether we are over the top
|
||||||
|
@ -414,6 +414,10 @@ MidiRegionView::leave_notify (GdkEventCrossing*)
|
|||||||
trackview.editor().verbose_cursor()->hide ();
|
trackview.editor().verbose_cursor()->hide ();
|
||||||
remove_ghost_note ();
|
remove_ghost_note ();
|
||||||
|
|
||||||
|
if (trackview.editor().internal_editing()) {
|
||||||
|
Keyboard::magic_widget_drop_focus();
|
||||||
|
}
|
||||||
|
|
||||||
if (pre_enter_cursor) {
|
if (pre_enter_cursor) {
|
||||||
Editor* editor = dynamic_cast<Editor *> (&trackview.editor());
|
Editor* editor = dynamic_cast<Editor *> (&trackview.editor());
|
||||||
editor->set_canvas_cursor(pre_enter_cursor);
|
editor->set_canvas_cursor(pre_enter_cursor);
|
||||||
|
Loading…
Reference in New Issue
Block a user