diff options
author | Robin Gareus <robin@gareus.org> | 2014-10-21 11:07:53 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-10-21 11:07:53 +0200 |
commit | 148c1f17683f40c34c91c9a3e21539f148d0242b (patch) | |
tree | 053952bd7777825f56a321f3f5f9ec239e9f0377 /gtk2_ardour | |
parent | a9532179d51b9da81a1e704516c4b093dd355f3c (diff) |
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.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 1087b0e817..ecf269862c 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -2557,6 +2557,7 @@ Editor::set_internal_edit (bool yn) } reset_canvas_cursor (); + MouseModeChanged (); } /** Update _join_object_range_state which indicate whether we are over the top diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 5616a92cfe..d62fd789ee 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -414,6 +414,10 @@ MidiRegionView::leave_notify (GdkEventCrossing*) trackview.editor().verbose_cursor()->hide (); remove_ghost_note (); + if (trackview.editor().internal_editing()) { + Keyboard::magic_widget_drop_focus(); + } + if (pre_enter_cursor) { Editor* editor = dynamic_cast<Editor *> (&trackview.editor()); editor->set_canvas_cursor(pre_enter_cursor); |