- /* (ab)use the DragManager to do autoscrolling; adjust the event coordinates
- into the world coordinate space that DragManager::motion_handler is expecting,
- and then fake a DragManager motion event so that when maybe_autoscroll
- asks DragManager for the current pointer position it will get the correct
- answers.
- */
- int tx, ty;
- controls_ebox.translate_coordinates (*control_parent, ev->x, ev->y, tx, ty);
- ev->y = ty;
- _editor.drags()->motion_handler ((GdkEvent *) ev, false);
- _editor.maybe_autoscroll (false, true, false, ev->y_root < _resize_drag_start);
-
- /* now do the actual TAV resize */
- int32_t const delta = (int32_t) floor (ev->y_root - _resize_drag_start);
- _editor.add_to_idle_resize (this, delta);
- _resize_drag_start = ev->y_root;
- } else {
+
+ /* (ab)use the DragManager to do autoscrolling - basically we
+ * are pretending that the drag is taking place over the canvas
+ * (which perhaps in the glorious future, when track headers
+ * and the canvas are unified, will actually be true.)
+ */
+
+ _editor.maybe_autoscroll (false, true, true);
+
+ /* now schedule the actual TAV resize */
+ int32_t const delta = (int32_t) floor (ev->y_root - _resize_drag_start);
+ _editor.add_to_idle_resize (this, delta);
+ _resize_drag_start = ev->y_root;
+ _did_resize = true;
+ } else {