From 9e036ed903406f11d875bf73b459222b6b051a28 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 5 Jul 2019 12:36:40 +0200 Subject: 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()'. --- tracker-easy/tracker-easy.cpp | 5 +++-- 1 file 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) { -- cgit v1.2.3