summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-07-20 12:57:43 +0200
committerStanislaw Halik <sthalik@misaki.pl>2015-07-20 12:57:43 +0200
commit513ef3ab3ad8231b783905f7ddd7a83d6ef1ae1f (patch)
tree1dd26931d132ecf2902a6399111c4d0b2ebaea85 /ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp
parent6b6e286d9dcf03bd4d96f7d0acbeb797eecbcfdd (diff)
pt: cleanup some data races
Diffstat (limited to 'ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp')
-rw-r--r--ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp b/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp
index 70511a3f..780e997b 100644
--- a/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp
+++ b/ftnoir_tracker_pt/ftnoir_tracker_pt_dialog.cpp
@@ -89,7 +89,13 @@ TrackerDialog_PT::TrackerDialog_PT()
void TrackerDialog_PT::camera_settings()
{
- open_camera_settings(tracker ? &static_cast<cv::VideoCapture&>(tracker->camera) : nullptr, s.camera_name, tracker ? &tracker->camera_mtx : nullptr);
+ if (tracker)
+ {
+ QMutexLocker l(&tracker->camera_mtx);
+ open_camera_settings(static_cast<cv::VideoCapture*>(tracker->camera), s.camera_name, &tracker->camera_mtx);
+ }
+ else
+ open_camera_settings(nullptr, s.camera_name, nullptr);
}
void TrackerDialog_PT::startstop_trans_calib(bool start)
@@ -121,11 +127,13 @@ void TrackerDialog_PT::poll_tracker_info()
if (tracker)
{
QString to_print;
-
- // display caminfo
CamInfo info;
- tracker->get_cam_info(&info);
- to_print = QString::number(info.res_x)+"x"+QString::number(info.res_y)+" @ "+QString::number(info.fps)+" FPS";
+ {
+ QMutexLocker l(&tracker->camera_mtx);
+ // display caminfo
+ tracker->get_cam_info(&info);
+ to_print = QString::number(info.res_x)+"x"+QString::number(info.res_y)+" @ "+QString::number(info.fps)+" FPS";
+ }
ui.caminfo_label->setText(to_print);
// display pointinfo