diff options
author | Carl Hetherington <carl@carlh.net> | 2009-02-17 00:12:22 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-02-17 00:12:22 +0000 |
commit | 4565b73a3993b0cb5ccb9170e276180f2b5c1372 (patch) | |
tree | 18ab6fc28523856e88832917c6ab92c36db6310b /gtk2_ardour/editor_mixer.cc | |
parent | 3e1eb6bcbd1bf5b9f3bfb64d8b9a5ad68c01368c (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.cc | 8 |
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(); |