Skip to content

Commit

Permalink
network_analyzer: fix UI crash when averaging is performed
Browse files Browse the repository at this point in the history
- The crash occurred because the iteration thread computing the average
was updating a UI label with the average value for each iteration too frequently.

Signed-off-by: Adrian Stanea <[email protected]>
  • Loading branch information
Adrian-Stanea committed Aug 1, 2024
1 parent d4c8adf commit 1383530
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions src/network_analyzer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1379,8 +1379,14 @@ void NetworkAnalyzer::goertzel()
mag1_averaged_sum += mag1;
mag2_averaged_sum += mag2;
dcOffset_averaged_sum += dcOffset;
ui->currentAverageLabel->setText(QString(tr("Average: ") + QString::number(avg)
+ " / " + QString::number(m_nb_averaging)));

QString average_label_str = QString(tr("Average: ") + QString::number(avg)
+ " / " + QString::number(m_nb_averaging));
QMetaObject::invokeMethod(ui->currentAverageLabel,
"setText",
Qt::QueuedConnection,
Q_ARG(QString, average_label_str));

if (avg == m_nb_averaging) {
mag1 = mag1_averaged_sum / m_nb_averaging;
mag2 = mag2_averaged_sum / m_nb_averaging;
Expand Down Expand Up @@ -1428,7 +1434,7 @@ void NetworkAnalyzer::onFrequencyBarMoved(int pos)
{
d_frequencyHandle->setPositionSilenty(pos);
}

void NetworkAnalyzer::toggleBufferPreview(bool toggle)
{
bufferPreviewer->setVisible(toggle);
Expand Down

0 comments on commit 1383530

Please sign in to comment.