diff src/Analyser.h @ 341:6b57c58b88d2

Cancel async layer creation in Tony when selection is changed during it
author Chris Cannam
date Mon, 16 Jun 2014 09:28:12 +0100
parents b176ea403ee8
children 56109ef020b4 ffd1a89a68fa
line wrap: on
line diff
--- a/src/Analyser.h	Fri Jun 13 17:44:58 2014 +0100
+++ b/src/Analyser.h	Mon Jun 16 09:28:12 2014 +0100
@@ -18,6 +18,7 @@
 
 #include <QObject>
 #include <QRect>
+#include <QMutex>
 
 #include <map>
 #include <vector>
@@ -228,6 +229,8 @@
     std::vector<Layer *> m_reAnalysisCandidates;
     int m_currentCandidate;
     bool m_candidatesVisible;
+    Document::LayerCreationAsyncHandle m_currentAsyncHandle;
+    QMutex m_asyncMutex;
 
     QString doAllAnalyses(bool withPitchTrack);
 
@@ -240,7 +243,8 @@
     void stackLayers();
     
     // Document::LayerCreationHandler method
-    void layersCreated(std::vector<Layer *>, std::vector<Layer *>);
+    void layersCreated(Document::LayerCreationAsyncHandle,
+                       std::vector<Layer *>, std::vector<Layer *>);
 
     void saveState(Component c) const;
     void loadState(Component c);