ui/cameraview: fix deadlock on exit due to Qt::BlockingQueuedConnection (#32620)

fix deadlock
old-commit-hash: 25e15846f1
097
Dean Lee 11 months ago committed by GitHub
parent 19d9e7ac6b
commit 2be5c0e970
  1. 2
      selfdrive/ui/qt/widgets/cameraview.cc

@ -11,6 +11,7 @@
#include <string> #include <string>
#include <utility> #include <utility>
#include <QApplication>
#include <QOpenGLBuffer> #include <QOpenGLBuffer>
#include <QOffscreenSurface> #include <QOffscreenSurface>
@ -104,6 +105,7 @@ CameraWidget::CameraWidget(std::string stream_name, VisionStreamType type, bool
QObject::connect(this, &CameraWidget::vipcThreadConnected, this, &CameraWidget::vipcConnected, Qt::BlockingQueuedConnection); QObject::connect(this, &CameraWidget::vipcThreadConnected, this, &CameraWidget::vipcConnected, Qt::BlockingQueuedConnection);
QObject::connect(this, &CameraWidget::vipcThreadFrameReceived, this, &CameraWidget::vipcFrameReceived, Qt::QueuedConnection); QObject::connect(this, &CameraWidget::vipcThreadFrameReceived, this, &CameraWidget::vipcFrameReceived, Qt::QueuedConnection);
QObject::connect(this, &CameraWidget::vipcAvailableStreamsUpdated, this, &CameraWidget::availableStreamsUpdated, Qt::QueuedConnection); QObject::connect(this, &CameraWidget::vipcAvailableStreamsUpdated, this, &CameraWidget::availableStreamsUpdated, Qt::QueuedConnection);
QObject::connect(QApplication::instance(), &QCoreApplication::aboutToQuit, this, &CameraWidget::stopVipcThread);
} }
CameraWidget::~CameraWidget() { CameraWidget::~CameraWidget() {

Loading…
Cancel
Save