From 54430acd4fb00b55b618110f60a0803448b09b13 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 17 Oct 2021 16:16:59 +0200 Subject: tracker/pt: fix the deadlock for good this time --- tracker-pt/ftnoir_tracker_pt.cpp | 12 ++---------- tracker-pt/ftnoir_tracker_pt.h | 1 - 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/tracker-pt/ftnoir_tracker_pt.cpp b/tracker-pt/ftnoir_tracker_pt.cpp index db2ace64..84e66221 100644 --- a/tracker-pt/ftnoir_tracker_pt.cpp +++ b/tracker-pt/ftnoir_tracker_pt.cpp @@ -33,7 +33,6 @@ Tracker_PT::Tracker_PT(pointer const& traits) : opencv_init(); connect(s.b.get(), &bundle_::saving, this, [this]{ reopen_camera_flag = true; }, Qt::DirectConnection); - connect(&s.fov, value_::value_changed(), this, &Tracker_PT::set_fov, Qt::DirectConnection); } Tracker_PT::~Tracker_PT() @@ -60,9 +59,8 @@ void Tracker_PT::run() camera = nullptr; } auto camera_ = traits->make_camera(); - if (!camera_->start(s)) + if (!camera_ || !camera_->start(s)) break; - camera_->set_fov(s.fov); camera = std::move(camera_); } @@ -71,6 +69,7 @@ void Tracker_PT::run() { QMutexLocker l(&camera_mtx); + camera->set_fov(s.fov); std::tie(new_frame, info) = camera->get_frame(*frame); } @@ -119,13 +118,6 @@ void Tracker_PT::run() } } -void Tracker_PT::set_fov(int value) -{ - QMutexLocker l(&camera_mtx); - if (camera) - camera->set_fov(value); -} - module_status Tracker_PT::start_tracker(QFrame* video_frame) { { diff --git a/tracker-pt/ftnoir_tracker_pt.h b/tracker-pt/ftnoir_tracker_pt.h index dd46f098..c9b87102 100644 --- a/tracker-pt/ftnoir_tracker_pt.h +++ b/tracker-pt/ftnoir_tracker_pt.h @@ -49,7 +49,6 @@ struct Tracker_PT : QThread, ITracker private: void run() override; - void set_fov(int value); pointer traits; -- cgit v1.2.3