diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 27895c2ae0..792f6543cb 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -2056,7 +2056,7 @@ ARDOUR_UI::update_clocks () { if (!_session) return; - if (editor && !editor->dragging_playhead()) { + if (editor && !editor->dragging_playhead() && !editor->pending_locate_request()) { Clock (_session->audible_sample()); /* EMIT_SIGNAL */ } } diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 7d8df5457a..e7ff5e59a3 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -167,6 +167,8 @@ public: void first_idle (); virtual bool have_idled () const { return _have_idled; } + bool pending_locate_request() const { return _pending_locate_request; } + samplepos_t leftmost_sample() const { return _leftmost_sample; } samplecnt_t current_page_samples() const { diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index 23409dccef..9709f88722 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -373,6 +373,8 @@ public: sigc::signal Realized; sigc::signal UpdateAllTransportClocks; + virtual bool pending_locate_request() const = 0; + static sigc::signal DropDownKeys; struct RegionAction {