1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-02-03 09:44:01 -05:00

Merge pull request #2377 from srcejon/sid_fix_read_csv

SID: Fix crash when loading data from .csv.
This commit is contained in:
Edouard Griffiths 2025-01-19 10:43:18 +01:00 committed by GitHub
commit 83b36c6aab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2396,8 +2396,11 @@ void SIDGUI::readCSV(const QString& filename, bool autoload)
if (CSV::readRow(in, &colNames)) if (CSV::readRow(in, &colNames))
{ {
QList<ChannelMeasurement *> measurements; QList<ChannelMeasurement *> measurements;
for (int i = 0; i < colNames.size() - 1; i++) { QList<int> measurementIdx;
for (int i = 0; i < colNames.size() - 1; i++)
{
measurements.append(nullptr); measurements.append(nullptr);
measurementIdx.append(-1);
} }
for (int i = 1; i < colNames.size(); i++) for (int i = 1; i < colNames.size(); i++)
{ {
@ -2439,7 +2442,8 @@ void SIDGUI::readCSV(const QString& filename, bool autoload)
} else { } else {
id = name; id = name;
} }
measurements[i-1] = &addMeasurements(id); addMeasurements(id);
measurementIdx[i-1] = m_channelMeasurements.size() - 1;
// Create settings, if we don't have them // Create settings, if we don't have them
SIDSettings::ChannelSettings *channelSettings = m_settings.getChannelSettings(id); SIDSettings::ChannelSettings *channelSettings = m_settings.getChannelSettings(id);
@ -2482,7 +2486,11 @@ void SIDGUI::readCSV(const QString& filename, bool autoload)
if (!valueStr.isEmpty()) if (!valueStr.isEmpty())
{ {
double value = valueStr.toDouble(); double value = valueStr.toDouble();
measurements[i]->append(dateTime, value, false); if (measurements[i]) {
measurements[i]->append(dateTime, value, false);
} else {
m_channelMeasurements[measurementIdx[i]].append(dateTime, value, false);
}
} }
} }
} }