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

pull/23011/head
Dean Lee 4 years ago committed by GitHub
parent 20d5c0c1cb
commit c1f617db46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      selfdrive/ui/qt/widgets/cameraview.cc

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

Loading…
Cancel
Save