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. 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