diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-05 15:16:55 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-05 15:16:55 -0400 |
commit | ad346dc638c1b87af571cb8a920c0d7151da5a94 (patch) | |
tree | 857775ba46bb24e6958a351f7007884eaab1afc3 /gtk2_ardour/editor_drag.cc | |
parent | ef9bf58359e8331f9495242a7d4a02e785931a4a (diff) |
reinstate a canvas group where we reparent regions while dragging, so that they are always on top.
I mistakenly removed this during the onecanvas changes.
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 7004f9b419..2cea513c1a 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -704,7 +704,16 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move) if (first_move) { rv->drag_start (); rv->fake_set_opaque (true); - rv->raise_to_top (); + + /* reparent the regionview into a group above all + * others + */ + + ArdourCanvas::Group* rvg = rv->get_canvas_group(); + Duple rv_canvas_offset = rvg->parent()->item_to_canvas (Duple (0,0)); + Duple dmg_canvas_offset = _editor->_drag_motion_group->item_to_canvas (Duple (0,0)); + rv->get_canvas_group()->reparent (_editor->_drag_motion_group); + rvg->move (rv_canvas_offset - dmg_canvas_offset); } /* If we have moved tracks, we'll fudge the layer delta so that the |