From 54f3ca43bb72f697a5a2fc90d3c26f7301a48cd0 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Mon, 6 Feb 2023 04:35:30 +0800 Subject: [PATCH] cabana: only relayout charts when needed (#27210) --- tools/cabana/chartswidget.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/cabana/chartswidget.cc b/tools/cabana/chartswidget.cc index 87a0e8abd0..8591d67d51 100644 --- a/tools/cabana/chartswidget.cc +++ b/tools/cabana/chartswidget.cc @@ -231,8 +231,12 @@ void ChartsWidget::updateLayout() { columns_cb_action->setVisible(show_column_cb); n = std::min(column_count, n); - for (int i = 0; i < charts.size(); ++i) { - charts_layout->addWidget(charts[charts.size() - i - 1], i / n, i % n); + if (charts.size() != charts_layout->count() || n != charts_layout->columnCount()) { + charts_layout->parentWidget()->setUpdatesEnabled(false); + for (int i = 0; i < charts.size(); ++i) { + charts_layout->addWidget(charts[charts.size() - i - 1], i / n, i % n); + } + QTimer::singleShot(0, [this]() { charts_layout->parentWidget()->setUpdatesEnabled(true); }); } alignCharts(true); }