From e80c4866a5e1705f94205c35973852b60f38fcac Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Tue, 30 May 2023 23:28:24 -0500 Subject: [PATCH] Fix crash when changing products --- scwx-qt/source/scwx/qt/view/level2_product_view.cpp | 6 +++++- scwx-qt/source/scwx/qt/view/level3_radial_view.cpp | 10 +++++++--- scwx-qt/source/scwx/qt/view/level3_raster_view.cpp | 6 +++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/scwx-qt/source/scwx/qt/view/level2_product_view.cpp b/scwx-qt/source/scwx/qt/view/level2_product_view.cpp index ad4e6367..1cbd2e95 100644 --- a/scwx-qt/source/scwx/qt/view/level2_product_view.cpp +++ b/scwx-qt/source/scwx/qt/view/level2_product_view.cpp @@ -108,7 +108,11 @@ Level2ProductView::Level2ProductView( { ConnectRadarProductManager(); } -Level2ProductView::~Level2ProductView() = default; + +Level2ProductView::~Level2ProductView() +{ + std::unique_lock sweepLock {sweep_mutex()}; +} void Level2ProductView::ConnectRadarProductManager() { diff --git a/scwx-qt/source/scwx/qt/view/level3_radial_view.cpp b/scwx-qt/source/scwx/qt/view/level3_radial_view.cpp index 4652c0a2..16e674d3 100644 --- a/scwx-qt/source/scwx/qt/view/level3_radial_view.cpp +++ b/scwx-qt/source/scwx/qt/view/level3_radial_view.cpp @@ -50,7 +50,11 @@ Level3RadialView::Level3RadialView( p(std::make_unique()) { } -Level3RadialView::~Level3RadialView() = default; + +Level3RadialView::~Level3RadialView() +{ + std::unique_lock sweepLock {sweep_mutex()}; +} float Level3RadialView::range() const { @@ -150,8 +154,8 @@ void Level3RadialView::ComputeSweep() return; } - // A message with radial data should either have a Digital Radial Data Array - // Packet, or a Radial Data Array Packet (TODO) + // A message with radial data should either have a Digital Radial Data + // Array Packet, or a Radial Data Array Packet (TODO) std::shared_ptr digitalDataPacket = nullptr; std::shared_ptr radialDataPacket = nullptr; diff --git a/scwx-qt/source/scwx/qt/view/level3_raster_view.cpp b/scwx-qt/source/scwx/qt/view/level3_raster_view.cpp index 1c150c70..f5d36185 100644 --- a/scwx-qt/source/scwx/qt/view/level3_raster_view.cpp +++ b/scwx-qt/source/scwx/qt/view/level3_raster_view.cpp @@ -50,7 +50,11 @@ Level3RasterView::Level3RasterView( p(std::make_unique()) { } -Level3RasterView::~Level3RasterView() = default; + +Level3RasterView::~Level3RasterView() +{ + std::unique_lock sweepLock {sweep_mutex()}; +} float Level3RasterView::range() const {