- y->first = editor_y_to_summary (_editor->vertical_adjustment.get_value ());
- y->second = editor_y_to_summary (_editor->vertical_adjustment.get_value () + _editor->canvas_height() - _editor->get_canvas_timebars_vsize());
+ if (suspending_editor_updates ()) {
+
+ /* We are dragging, and configured not to update the editor window during drags,
+ so just return where the editor will be when the drag finishes.
+ */
+
+ *x = _pending_editor_x;
+ *y = _pending_editor_y;
+
+ } else {
+
+ /* Otherwise query the editor for its actual position */
+
+ x->first = (_editor->leftmost_position () - _start) * _x_scale;
+ x->second = x->first + _editor->current_page_frames() * _x_scale;
+
+ y->first = editor_y_to_summary (_editor->vertical_adjustment.get_value ());
+ y->second = editor_y_to_summary (_editor->vertical_adjustment.get_value () + _editor->canvas_height() - _editor->get_canvas_timebars_vsize());
+ }