UI: fix cameraview crash after going offroad in settings window (#23009)

old-commit-hash: c1f617db46
commatwo_master
Dean Lee 4 years ago committed by GitHub
parent bef53929d7
commit 0babd4d6e8
  1. 5
      selfdrive/ui/qt/widgets/cameraview.cc

@ -153,16 +153,21 @@ void CameraViewWidget::initializeGL() {
void CameraViewWidget::showEvent(QShowEvent *event) { void CameraViewWidget::showEvent(QShowEvent *event) {
latest_frame = nullptr; latest_frame = nullptr;
if (!vipc_thread) {
vipc_thread = new QThread(); vipc_thread = new QThread();
connect(vipc_thread, &QThread::started, [=]() { vipcThread(); }); connect(vipc_thread, &QThread::started, [=]() { vipcThread(); });
connect(vipc_thread, &QThread::finished, vipc_thread, &QObject::deleteLater); connect(vipc_thread, &QThread::finished, vipc_thread, &QObject::deleteLater);
vipc_thread->start(); vipc_thread->start();
} }
}
void CameraViewWidget::hideEvent(QHideEvent *event) { void CameraViewWidget::hideEvent(QHideEvent *event) {
if (vipc_thread) {
vipc_thread->requestInterruption(); vipc_thread->requestInterruption();
vipc_thread->quit(); vipc_thread->quit();
vipc_thread->wait(); vipc_thread->wait();
vipc_thread = nullptr;
}
} }
void CameraViewWidget::updateFrameMat(int w, int h) { void CameraViewWidget::updateFrameMat(int w, int h) {

Loading…
Cancel
Save