summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-10-21 11:07:53 +0200
committerRobin Gareus <robin@gareus.org>2014-10-21 11:07:53 +0200
commit148c1f17683f40c34c91c9a3e21539f148d0242b (patch)
tree053952bd7777825f56a321f3f5f9ec239e9f0377 /gtk2_ardour
parenta9532179d51b9da81a1e704516c4b093dd355f3c (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.cc1
-rw-r--r--gtk2_ardour/midi_region_view.cc4
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);