Commit 9b6ea46fc8c19eb4ac8bbb3a4e6ae1747f6f99d4

Authored by Josh Klontz
1 parent 758cf540

minor bug fixes

openbr/core/common.h
@@ -102,7 +102,7 @@ void MinMax(const QList<T> &vals, T *min, T *max) @@ -102,7 +102,7 @@ void MinMax(const QList<T> &vals, T *min, T *max)
102 template <typename T> 102 template <typename T>
103 T Min(const QList<T> &vals) 103 T Min(const QList<T> &vals)
104 { 104 {
105 - int min, max; 105 + T min, max;
106 MinMax(vals, &min, &max); 106 MinMax(vals, &min, &max);
107 return min; 107 return min;
108 } 108 }
@@ -110,7 +110,7 @@ T Min(const QList&lt;T&gt; &amp;vals) @@ -110,7 +110,7 @@ T Min(const QList&lt;T&gt; &amp;vals)
110 template <typename T> 110 template <typename T>
111 T Max(const QList<T> &vals) 111 T Max(const QList<T> &vals)
112 { 112 {
113 - int min, max; 113 + T min, max;
114 MinMax(vals, &min, &max); 114 MinMax(vals, &min, &max);
115 return max; 115 return max;
116 } 116 }
openbr/plugins/independent.cpp
@@ -173,8 +173,8 @@ class SingletonTransform : public MetaTransform @@ -173,8 +173,8 @@ class SingletonTransform : public MetaTransform
173 Q_PROPERTY(QString description READ get_description WRITE set_description RESET reset_description STORED false) 173 Q_PROPERTY(QString description READ get_description WRITE set_description RESET reset_description STORED false)
174 BR_PROPERTY(QString, description, "Identity") 174 BR_PROPERTY(QString, description, "Identity")
175 175
  176 + static QMutex mutex;
176 static QHash<QString,Transform*> transforms; 177 static QHash<QString,Transform*> transforms;
177 - static QMutex trainingMutex;  
178 static QHash<QString,int> trainingReferenceCounts; 178 static QHash<QString,int> trainingReferenceCounts;
179 static QHash<QString,TemplateList> trainingData; 179 static QHash<QString,TemplateList> trainingData;
180 180
@@ -182,6 +182,7 @@ class SingletonTransform : public MetaTransform @@ -182,6 +182,7 @@ class SingletonTransform : public MetaTransform
182 182
183 void init() 183 void init()
184 { 184 {
  185 + QMutexLocker locker(&mutex);
185 if (!transforms.contains(description)) { 186 if (!transforms.contains(description)) {
186 transforms.insert(description, make(description)); 187 transforms.insert(description, make(description));
187 trainingReferenceCounts.insert(description, 0); 188 trainingReferenceCounts.insert(description, 0);
@@ -193,7 +194,7 @@ class SingletonTransform : public MetaTransform @@ -193,7 +194,7 @@ class SingletonTransform : public MetaTransform
193 194
194 void train(const TemplateList &data) 195 void train(const TemplateList &data)
195 { 196 {
196 - QMutexLocker locker(&trainingMutex); 197 + QMutexLocker locker(&mutex);
197 trainingData[description].append(data); 198 trainingData[description].append(data);
198 trainingReferenceCounts[description]--; 199 trainingReferenceCounts[description]--;
199 if (trainingReferenceCounts[description] > 0) return; 200 if (trainingReferenceCounts[description] > 0) return;
@@ -219,8 +220,8 @@ class SingletonTransform : public MetaTransform @@ -219,8 +220,8 @@ class SingletonTransform : public MetaTransform
219 } 220 }
220 }; 221 };
221 222
  223 +QMutex SingletonTransform::mutex;
222 QHash<QString,Transform*> SingletonTransform::transforms; 224 QHash<QString,Transform*> SingletonTransform::transforms;
223 -QMutex SingletonTransform::trainingMutex;  
224 QHash<QString,int> SingletonTransform::trainingReferenceCounts; 225 QHash<QString,int> SingletonTransform::trainingReferenceCounts;
225 QHash<QString,TemplateList> SingletonTransform::trainingData; 226 QHash<QString,TemplateList> SingletonTransform::trainingData;
226 227