summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mixer.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-02-17 00:12:22 +0000
committerCarl Hetherington <carl@carlh.net>2009-02-17 00:12:22 +0000
commit4565b73a3993b0cb5ccb9170e276180f2b5c1372 (patch)
tree18ab6fc28523856e88832917c6ab92c36db6310b /gtk2_ardour/editor_mixer.cc
parent3e1eb6bcbd1bf5b9f3bfb64d8b9a5ad68c01368c (diff)
Fix for visual glitch due to race between Editor::update_current_screen being called and a locate event being processed.
git-svn-id: svn://localhost/ardour2/branches/3.0@4608 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_mixer.cc')
-rw-r--r--gtk2_ardour/editor_mixer.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc
index 618d59455e..04caa99f28 100644
--- a/gtk2_ardour/editor_mixer.cc
+++ b/gtk2_ardour/editor_mixer.cc
@@ -232,6 +232,14 @@ double current = 0.0;
void
Editor::update_current_screen ()
{
+ if (_pending_locate_request) {
+ /* we don't update things when there's a pending locate request, otherwise
+ when the editor requests a locate there is a chance that this method
+ will move the playhead before the locate request is processed, causing
+ a visual glitch. */
+ return;
+ }
+
if (session && session->engine().running()) {
nframes64_t const frame = session->audible_frame();