From f2ad356f0fd97d0213efb25c03a4ad2bbd1ded07 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Thu, 5 Mar 2020 10:26:07 +0200 Subject: [PATCH] Add lock when updating framesets --- applications/gui/src/src_window.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/applications/gui/src/src_window.cpp b/applications/gui/src/src_window.cpp index 23e774f64..405c4ee44 100644 --- a/applications/gui/src/src_window.cpp +++ b/applications/gui/src/src_window.cpp @@ -202,7 +202,10 @@ bool SourceWindow::_processFrameset(ftl::rgbd::FrameSet &fs, bool fromstream) { } // Make sure there are enough framesets allocated - _checkFrameSets(fs.id); + { + UNIQUE_LOCK(mutex_, lk); + _checkFrameSets(fs.id); + } if (!paused_) { if (!fs.test(ftl::data::FSFlag::PARTIAL) || !screen_->root()->value("drop_partial_framesets", false)) { @@ -229,7 +232,10 @@ bool SourceWindow::_processFrameset(ftl::rgbd::FrameSet &fs, bool fromstream) { } const auto *cstream = interceptor_; - _createDefaultCameras(*framesets_[fs.id], true); // cstream->available(fs.id).has(Channel::Depth) + { + UNIQUE_LOCK(mutex_, lk); + _createDefaultCameras(*framesets_[fs.id], true); // cstream->available(fs.id).has(Channel::Depth) + } //LOG(INFO) << "Channels = " << (unsigned int)cstream->available(fs.id); -- GitLab