diff --git a/RateSeveral.cpp b/RateSeveral.cpp index deec900..8a7d1cb 100644 --- a/RateSeveral.cpp +++ b/RateSeveral.cpp @@ -12,6 +12,10 @@ RateSeveral::RateSeveral(QObject *parent) : connect(&timer, SIGNAL(timeout()), this, SLOT(onTimerTimeout())); } +RateSeveral::~RateSeveral() { + timer.stop(); +} + void RateSeveral::setTimerInterval(qint32 second) { timer.start(second * 1000); } @@ -44,7 +48,6 @@ void RateSeveral::record(quint32 val) { recordList.last().second.fetchAndAddAcquire(val); } - void RateSeveral::onTimerTimeout() { intervalLock.lockForRead(); auto interval = vInterval; diff --git a/RateSeveral.h b/RateSeveral.h index be19e47..f9ef490 100644 --- a/RateSeveral.h +++ b/RateSeveral.h @@ -18,6 +18,8 @@ Q_OBJECT public: explicit RateSeveral(QObject *parent = nullptr); + virtual ~RateSeveral(); + void setTimerInterval(qint32 second); void addRateInterval(quint32 second); @@ -30,8 +32,8 @@ public: void setMaxListSize(quint32 maxSize); -signals: +signals: void RateSignals(quint32 interval, quint32 rate); protected slots: