aboutsummaryrefslogtreecommitdiffstats
path: root/gr-qtgui
diff options
context:
space:
mode:
authorThomas Habets <thomas@habets.se>2021-04-03 23:43:56 +0100
committerMartin Braun <martin@gnuradio.org>2021-04-06 12:04:06 -0700
commit6b89a4a59bb8e0416046893c34930937b7948755 (patch)
treea84ee7973e45a1ca97961de613e447bace33765e /gr-qtgui
parentqtgui: Remove manual memory management from waterfallGlobalData (diff)
downloadgnuradio-6b89a4a59bb8e0416046893c34930937b7948755.tar.xz
gnuradio-6b89a4a59bb8e0416046893c34930937b7948755.zip
qtgui: Remove manual memory management from timerasterGlobalData
Signed-off-by: Thomas Habets <thomas@habets.se>
Diffstat (limited to 'gr-qtgui')
-rw-r--r--gr-qtgui/include/gnuradio/qtgui/timeRasterGlobalData.h4
-rw-r--r--gr-qtgui/lib/timeRasterGlobalData.cc30
2 files changed, 12 insertions, 22 deletions
diff --git a/gr-qtgui/include/gnuradio/qtgui/timeRasterGlobalData.h b/gr-qtgui/include/gnuradio/qtgui/timeRasterGlobalData.h
index 6d08c909f..09cd42883 100644
--- a/gr-qtgui/include/gnuradio/qtgui/timeRasterGlobalData.h
+++ b/gr-qtgui/include/gnuradio/qtgui/timeRasterGlobalData.h
@@ -47,10 +47,10 @@ public:
void incrementResidual();
protected:
- double* d_data;
+ std::vector<double> d_data;
double d_rows, d_cols;
double d_resid;
- int d_nitems, d_totalitems, d_data_size;
+ int d_nitems, d_totalitems;
#if QWT_VERSION < 0x060000
QwtDoubleInterval d_intensityRange;
diff --git a/gr-qtgui/lib/timeRasterGlobalData.cc b/gr-qtgui/lib/timeRasterGlobalData.cc
index 82e92d356..def179dd7 100644
--- a/gr-qtgui/lib/timeRasterGlobalData.cc
+++ b/gr-qtgui/lib/timeRasterGlobalData.cc
@@ -32,10 +32,9 @@ TimeRasterData::TimeRasterData(const double rows, const double cols)
// We add 1 here so we always have the next row already started
// (helps when d_cols is fractional and we have to slide).
d_totalitems = static_cast<int>((d_rows + 1) * floor(d_cols));
- d_data_size = d_totalitems + static_cast<int>(floor(d_cols));
d_intensityRange = QwtDoubleInterval(0.0, 10.0);
- d_data = new double[d_data_size];
+ d_data.resize(d_totalitems + static_cast<int>(floor(d_cols)));
#if QWT_VERSION >= 0x060000
setInterval(Qt::XAxis, QwtInterval(0, cols));
@@ -46,13 +45,13 @@ TimeRasterData::TimeRasterData(const double rows, const double cols)
reset();
}
-TimeRasterData::~TimeRasterData() { delete[] d_data; }
+TimeRasterData::~TimeRasterData() {}
void TimeRasterData::reset()
{
d_resid = 0;
d_nitems = 0;
- memset(d_data, 0x0, d_data_size * sizeof(double));
+ std::fill(std::begin(d_data), std::end(d_data), 0.0);
}
void TimeRasterData::copy(const TimeRasterData* rhs)
@@ -62,19 +61,15 @@ void TimeRasterData::copy(const TimeRasterData* rhs)
d_cols = rhs->getNumCols();
d_rows = rhs->getNumRows();
d_totalitems = static_cast<int>((d_rows + 1) * floor(d_cols));
- d_data_size = d_totalitems + static_cast<int>(floor(d_cols));
setBoundingRect(rhs->boundingRect());
- delete[] d_data;
- d_data = new double[d_data_size];
+ d_data.resize(d_totalitems + static_cast<int>(floor(d_cols)));
}
#else
if ((d_cols != rhs->getNumCols()) || (d_rows != rhs->getNumRows())) {
d_cols = rhs->getNumCols();
d_rows = rhs->getNumRows();
d_totalitems = static_cast<int>((d_rows + 1) * floor(d_cols));
- d_data_size = d_totalitems + static_cast<int>(floor(d_cols));
- delete[] d_data;
- d_data = new double[d_data_size];
+ d_data.resize(d_totalitems + static_cast<int>(floor(d_cols)));
}
#endif
@@ -98,9 +93,7 @@ void TimeRasterData::resizeData(const double rows, const double cols)
d_cols = cols;
d_rows = rows;
d_totalitems = static_cast<int>((d_rows + 1) * floor(d_cols));
- d_data_size = d_totalitems + static_cast<int>(floor(d_cols));
- delete[] d_data;
- d_data = new double[d_data_size];
+ d_data.resize(d_totalitems + static_cast<int>(floor(d_cols)));
}
#else
@@ -113,10 +106,7 @@ void TimeRasterData::resizeData(const double rows, const double cols)
d_cols = cols;
d_rows = rows;
d_totalitems = static_cast<int>((d_rows + 1) * floor(d_cols));
- d_data_size = d_totalitems + static_cast<int>(floor(d_cols));
-
- delete[] d_data;
- d_data = new double[d_data_size];
+ d_data.resize(d_totalitems + static_cast<int>(floor(d_cols)));
}
#endif
@@ -168,9 +158,9 @@ double TimeRasterData::value(double x, double y) const
double _y = floor(top - y);
double _loc = _y * (d_cols) + x + d_resid;
- int location = static_cast<int>(_loc);
+ auto location = static_cast<ssize_t>(_loc);
- if ((location > -1) && (location < d_data_size)) {
+ if ((location > -1) && (location < static_cast<ssize_t>(d_data.size()))) {
returnValue = d_data[location];
}
@@ -199,7 +189,7 @@ void TimeRasterData::addData(const double* data, const int dataSize)
d_nitems += cols;
} else {
memcpy(&d_data[d_nitems], data, cols * sizeof(double));
- memmove(d_data, &d_data[cols], d_totalitems * sizeof(double));
+ memmove(d_data.data(), &d_data[cols], d_totalitems * sizeof(double));
}
}
}