summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_tracer.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-06-28 23:07:05 +0000
committerCarl Hetherington <carl@carlh.net>2010-06-28 23:07:05 +0000
commita3cb425ca957bad3d4862ac38b111e71f7bcb318 (patch)
tree13f9dbe3882b9c669a4f0a9b80ef692e90730391 /gtk2_ardour/midi_tracer.h
parent21e10145d8391d29c73fc262a8fbedf66cb24945 (diff)
Fix race causing MIDI tracer to stop working when master record state is changed.
git-svn-id: svn://localhost/ardour2/branches/3.0@7320 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_tracer.h')
-rw-r--r--gtk2_ardour/midi_tracer.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk2_ardour/midi_tracer.h b/gtk2_ardour/midi_tracer.h
index 47f1738243..fb5943370d 100644
--- a/gtk2_ardour/midi_tracer.h
+++ b/gtk2_ardour/midi_tracer.h
@@ -36,7 +36,13 @@ class MidiTracer : public ArdourDialog
bool autoscroll;
bool show_hex;
bool collect;
- volatile bool update_queued;
+
+ /** Incremented when an update is requested, decremented when one is handled; hence
+ * equal to 0 when an update is not queued. May temporarily be negative if a
+ * update is handled before it was noted that it had just been queued.
+ */
+ volatile gint _update_queued;
+
RingBuffer<char *> fifo;
Pool buffer_pool;
static const size_t buffer_size = 256;