diff --git a/selfdrive/ui/qt/offroad/onboarding.cc b/selfdrive/ui/qt/offroad/onboarding.cc index 298aaffbd..5e97b15e2 100644 --- a/selfdrive/ui/qt/offroad/onboarding.cc +++ b/selfdrive/ui/qt/offroad/onboarding.cc @@ -24,7 +24,6 @@ QWidget * OnboardingWindow::terms_screen() { QLabel *terms = new QLabel("See terms at https://my.comma.ai/terms"); terms->setAlignment(Qt::AlignCenter); - terms->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); terms->setStyleSheet(R"( font-size: 75px; border-radius: 10px; @@ -82,20 +81,24 @@ void OnboardingWindow::updateActiveScreen() { bool training_done = params.get("CompletedTrainingVersion", false).compare(LATEST_TRAINING_VERSION) == 0; if (!accepted_terms) { - layout->setCurrentIndex(0); + swidget->setCurrentIndex(0); } else if (!training_done) { - layout->setCurrentIndex(1); + swidget->setCurrentIndex(1); } else { emit onboardingDone(); } } OnboardingWindow::OnboardingWindow(QWidget *parent) : QWidget(parent) { - layout = new QStackedLayout(); - layout->addWidget(terms_screen()); - layout->addWidget(training_screen()); + QVBoxLayout * top_layout = new QVBoxLayout; - setLayout(layout); + swidget = new QStackedWidget(); + swidget->addWidget(terms_screen()); + swidget->addWidget(training_screen()); + + top_layout->addWidget(swidget); + + setLayout(top_layout); setStyleSheet(R"( * { background-color: black; diff --git a/selfdrive/ui/qt/offroad/onboarding.hpp b/selfdrive/ui/qt/offroad/onboarding.hpp index 8bb13f5c6..137ace822 100644 --- a/selfdrive/ui/qt/offroad/onboarding.hpp +++ b/selfdrive/ui/qt/offroad/onboarding.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include +#include // TODO: this is defined in python too #define LATEST_TERMS_VERSION "2" @@ -16,7 +16,7 @@ public: private: QWidget * terms_screen(); QWidget * training_screen(); - QStackedLayout *layout; + QStackedWidget *swidget; signals: void onboardingDone(); diff --git a/selfdrive/ui/qt/window.cc b/selfdrive/ui/qt/window.cc index 0ebc70767..e5ee59cb0 100644 --- a/selfdrive/ui/qt/window.cc +++ b/selfdrive/ui/qt/window.cc @@ -174,7 +174,10 @@ void GLWindow::paintGL() { } void GLWindow::wake(){ - handle_display_state(ui_state, 1, true); + // UI state might not be initialized yet + if (ui_state != nullptr){ + handle_display_state(ui_state, 1, true); + } } void GLWindow::mousePressEvent(QMouseEvent *e) {