summaryrefslogtreecommitdiffhomepage
path: root/tracker-easy/tracker-easy.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2019-07-05 12:36:40 +0200
committerStanislaw Halik <sthalik@misaki.pl>2019-07-05 12:46:07 +0200
commit9e036ed903406f11d875bf73b459222b6b051a28 (patch)
tree8488b8bad151a1c237b6a4266d4527b8c2d1828c /tracker-easy/tracker-easy.cpp
parent63b7fc37dc2df96ccda2b3854fe18ab57b4296b3 (diff)
tracker/easy: avoid race & crash on exit
cv::destroyWindow() can't be called along with `cv::imshow()' in progress from another thread. Moreover, `cv::waitKey()' doesn't work without any windows present. Also check for preview enablement to avoid a crash in `cv::destroyWindow()'.
Diffstat (limited to 'tracker-easy/tracker-easy.cpp')
-rw-r--r--tracker-easy/tracker-easy.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/tracker-easy/tracker-easy.cpp b/tracker-easy/tracker-easy.cpp
index 211eb267..fbc19dea 100644
--- a/tracker-easy/tracker-easy.cpp
+++ b/tracker-easy/tracker-easy.cpp
@@ -88,10 +88,11 @@ namespace EasyTracker
Tracker::~Tracker()
{
- cv::destroyWindow("Preview");
-
iThread.exit();
iThread.wait();
+
+ if (iDebug)
+ cv::destroyWindow("Preview");
if (camera)
{