diff --git a/applications/gui/src/src_window.cpp b/applications/gui/src/src_window.cpp index 23e774f6430d242d933fed5fdbf73fa945965e3f..405c4ee448560a162252fee9da5bf4e6911e81aa 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);