From 018fa27b02e0c8f33954ecafd1771f71eebbc6f6 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 9 Apr 2023 06:20:22 +0200 Subject: [PATCH] SpectrumVis: propagate apply settings to GUI message quque if it exists --- sdrbase/dsp/spectrumvis.cpp | 6 ++++++ sdrgui/gui/glspectrum.cpp | 2 +- sdrgui/gui/glspectrumgui.cpp | 4 ---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sdrbase/dsp/spectrumvis.cpp b/sdrbase/dsp/spectrumvis.cpp index f1625aed2..df4a1938e 100644 --- a/sdrbase/dsp/spectrumvis.cpp +++ b/sdrbase/dsp/spectrumvis.cpp @@ -915,6 +915,12 @@ void SpectrumVis::applySettings(const SpectrumSettings& settings, bool force) m_settings = settings; m_settings.m_fftSize = fftSize; + + if (m_guiMessageQueue) + { + MsgConfigureSpectrumVis *msg = MsgConfigureSpectrumVis::create(m_settings, false); + m_guiMessageQueue->push(msg); + } } void SpectrumVis::handleConfigureDSP(uint64_t centerFrequency, int sampleRate) diff --git a/sdrgui/gui/glspectrum.cpp b/sdrgui/gui/glspectrum.cpp index 4d15f7d57..0fec4217c 100644 --- a/sdrgui/gui/glspectrum.cpp +++ b/sdrgui/gui/glspectrum.cpp @@ -78,7 +78,7 @@ void GLSpectrum::setMeasurementParams(SpectrumSettings::Measurement measurement, // Resize splitter so there's just enough space for the measurements table // But don't use more than 50% QList sizes = m_splitter->sizes(); - if ((sizes[0] == 0) && (sizes[1] == 0)) + if (parentWidget() && (sizes[0] == 0) && (sizes[1] == 0)) { // Initial sizing when first created QSize s = parentWidget()->size(); diff --git a/sdrgui/gui/glspectrumgui.cpp b/sdrgui/gui/glspectrumgui.cpp index c41e54073..81d94ac21 100644 --- a/sdrgui/gui/glspectrumgui.cpp +++ b/sdrgui/gui/glspectrumgui.cpp @@ -330,10 +330,6 @@ void GLSpectrumGUI::applySettings() return; } - if (m_glSpectrum) { - applySpectrumSettings(); - } - if (m_spectrumVis) { SpectrumVis::MsgConfigureSpectrumVis *msg = SpectrumVis::MsgConfigureSpectrumVis::create(m_settings, false);