Commit 9b6ea46fc8c19eb4ac8bbb3a4e6ae1747f6f99d4
1 parent
758cf540
minor bug fixes
Showing
2 changed files
with
6 additions
and
5 deletions
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<T> &vals) | @@ -110,7 +110,7 @@ T Min(const QList<T> &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 |