# HG changeset patch # User Chris Cannam # Date 1536066670 -3600 # Node ID b837ccdd4946f3cd9c06d7f0f0660a9ed654aa8e # Parent fe579dc6a71385c385491d6125f1f6518ffdd17c Catch failure to create model, e.g. because 0 channels for wave-file model diff -r fe579dc6a713 -r b837ccdd4946 data/fileio/CSVFileReader.cpp --- a/data/fileio/CSVFileReader.cpp Tue Sep 04 13:19:20 2018 +0100 +++ b/data/fileio/CSVFileReader.cpp Tue Sep 04 14:11:10 2018 +0100 @@ -311,13 +311,25 @@ break; } - if (model) { + if (model && model->isOK()) { if (m_filename != "") { model->setObjectName(m_filename); } } } + if (!model || !model->isOK()) { + SVCERR << "Failed to create model to load CSV file into" + << endl; + if (model) { + delete model; + model = 0; + model1 = 0; model2 = 0; model2a = 0; model2b = 0; + model3 = 0; modelW = 0; + } + break; + } + float value = 0.f; float pitch = 0.f; QString label = ""; diff -r fe579dc6a713 -r b837ccdd4946 data/fileio/WavFileWriter.cpp --- a/data/fileio/WavFileWriter.cpp Tue Sep 04 13:19:20 2018 +0100 +++ b/data/fileio/WavFileWriter.cpp Tue Sep 04 14:11:10 2018 +0100 @@ -63,10 +63,15 @@ m_file = sf_open(writePath.toLocal8Bit(), SFM_WRITE, &fileInfo); #endif if (!m_file) { - SVCERR << "WavFileWriter: Failed to open file (" - << sf_strerror(m_file) << ")" << endl; + SVCERR << "WavFileWriter: Failed to create float-WAV file of " + << m_channels << " channels at rate " << fileRate << " (" + << sf_strerror(m_file) << ")" << endl; m_error = QString("Failed to open audio file '%1' for writing") .arg(writePath); + if (m_temp) { + delete m_temp; + m_temp = 0; + } } } catch (FileOperationFailed &f) { m_error = f.what();