diff --git a/include/gui/glscope.h b/include/gui/glscope.h index 7a314449f..66b71e74e 100644 --- a/include/gui/glscope.h +++ b/include/gui/glscope.h @@ -103,6 +103,7 @@ private: int m_sampleRates[16]; BitfieldIndex m_memTraceIndex; //!< current index of trace being written BitfieldIndex m_memTraceHistory; //!< trace index shift into history + int m_memTraceIndexMax; bool m_memTraceRecall; std::vector m_mathTrace; std::vector* m_displayTrace; diff --git a/sdrbase/gui/glscope.cpp b/sdrbase/gui/glscope.cpp index fa643e546..12d4b47c4 100644 --- a/sdrbase/gui/glscope.cpp +++ b/sdrbase/gui/glscope.cpp @@ -23,6 +23,7 @@ GLScope::GLScope(QWidget* parent) : m_orientation(Qt::Horizontal), m_memTraceIndex(0), m_memTraceHistory(0), + m_memTraceIndexMax(0), m_memTraceRecall(false), m_displayTrace(&m_rawTrace[0]), m_oldTraceSize(-1), @@ -197,6 +198,11 @@ void GLScope::newTrace(const std::vector& trace, int sampleRate) m_rawTrace[m_memTraceIndex] = trace; m_sampleRates[m_memTraceIndex] = sampleRate; + if(m_memTraceIndexMax < (1<