comparison framework/SVFileReader.cpp @ 636:e2715204feaa fix-static-analysis

Use nullptr throughout
author Chris Cannam
date Mon, 26 Nov 2018 14:34:06 +0000
parents 4612d44ae753
children 3168deb50199 e19c609a7bec
comparison
equal deleted inserted replaced
635:26a0cb8335e3 636:e2715204feaa
56 SVFileReaderPaneCallback &callback, 56 SVFileReaderPaneCallback &callback,
57 QString location) : 57 QString location) :
58 m_document(document), 58 m_document(document),
59 m_paneCallback(callback), 59 m_paneCallback(callback),
60 m_location(location), 60 m_location(location),
61 m_currentPane(0), 61 m_currentPane(nullptr),
62 m_currentLayer(0), 62 m_currentLayer(nullptr),
63 m_currentDataset(0), 63 m_currentDataset(nullptr),
64 m_currentDerivedModel(0), 64 m_currentDerivedModel(nullptr),
65 m_currentDerivedModelId(-1), 65 m_currentDerivedModelId(-1),
66 m_currentPlayParameters(0), 66 m_currentPlayParameters(nullptr),
67 m_currentTransformSource(0), 67 m_currentTransformSource(nullptr),
68 m_currentTransformChannel(0), 68 m_currentTransformChannel(0),
69 m_currentTransformIsNewStyle(true), 69 m_currentTransformIsNewStyle(true),
70 m_datasetSeparator(" "), 70 m_datasetSeparator(" "),
71 m_inRow(false), 71 m_inRow(false),
72 m_inLayer(false), 72 m_inLayer(false),
295 if (!foundInAwaiting) { 295 if (!foundInAwaiting) {
296 SVCERR << "WARNING: SV-XML: Dataset precedes model, or no model uses dataset" << endl; 296 SVCERR << "WARNING: SV-XML: Dataset precedes model, or no model uses dataset" << endl;
297 } 297 }
298 } 298 }
299 299
300 m_currentDataset = 0; 300 m_currentDataset = nullptr;
301 301
302 } else if (name == "data") { 302 } else if (name == "data") {
303 303
304 addUnaddedModels(); 304 addUnaddedModels();
305 m_inData = false; 305 m_inData = false;
339 m_currentTransformChannel), 339 m_currentTransformChannel),
340 m_currentDerivedModel); 340 m_currentDerivedModel);
341 } 341 }
342 342
343 m_addedModels.insert(m_currentDerivedModel); 343 m_addedModels.insert(m_currentDerivedModel);
344 m_currentDerivedModel = 0; 344 m_currentDerivedModel = nullptr;
345 m_currentDerivedModelId = -1; 345 m_currentDerivedModelId = -1;
346 m_currentTransformSource = 0; 346 m_currentTransformSource = nullptr;
347 m_currentTransform = Transform(); 347 m_currentTransform = Transform();
348 m_currentTransformChannel = -1; 348 m_currentTransformChannel = -1;
349 349
350 } else if (name == "row") { 350 } else if (name == "row") {
351 m_inRow = false; 351 m_inRow = false;
354 } else if (name == "view") { 354 } else if (name == "view") {
355 m_inView = false; 355 m_inView = false;
356 } else if (name == "selections") { 356 } else if (name == "selections") {
357 m_inSelections = false; 357 m_inSelections = false;
358 } else if (name == "playparameters") { 358 } else if (name == "playparameters") {
359 m_currentPlayParameters = 0; 359 m_currentPlayParameters = nullptr;
360 } 360 }
361 361
362 return true; 362 return true;
363 } 363 }
364 364
507 QString type = attributes.value("type").trimmed(); 507 QString type = attributes.value("type").trimmed();
508 bool isMainModel = (attributes.value("mainModel").trimmed() == "true"); 508 bool isMainModel = (attributes.value("mainModel").trimmed() == "true");
509 509
510 if (type == "wavefile") { 510 if (type == "wavefile") {
511 511
512 WaveFileModel *model = 0; 512 WaveFileModel *model = nullptr;
513 FileFinder *ff = FileFinder::getInstance(); 513 FileFinder *ff = FileFinder::getInstance();
514 QString originalPath = attributes.value("file"); 514 QString originalPath = attributes.value("file");
515 QString path = ff->find(FileFinder::AudioFile, 515 QString path = ff->find(FileFinder::AudioFile,
516 originalPath, m_location); 516 originalPath, m_location);
517 517
542 } 542 }
543 543
544 model = new ReadOnlyWaveFileModel(file, rate); 544 model = new ReadOnlyWaveFileModel(file, rate);
545 if (!model->isOK()) { 545 if (!model->isOK()) {
546 delete model; 546 delete model;
547 model = 0; 547 model = nullptr;
548 } 548 }
549 } 549 }
550 550
551 if (!model) { 551 if (!model) {
552 m_document->setIncomplete(true); 552 m_document->setIncomplete(true);
758 758
759 READ_MANDATORY(int, reference, toInt); 759 READ_MANDATORY(int, reference, toInt);
760 READ_MANDATORY(int, aligned, toInt); 760 READ_MANDATORY(int, aligned, toInt);
761 READ_MANDATORY(int, path, toInt); 761 READ_MANDATORY(int, path, toInt);
762 762
763 Model *refModel = 0, *alignedModel = 0, *pathModel = 0; 763 Model *refModel = nullptr, *alignedModel = nullptr, *pathModel = nullptr;
764 764
765 if (m_models.find(reference) != m_models.end()) { 765 if (m_models.find(reference) != m_models.end()) {
766 refModel = m_models[reference]; 766 refModel = m_models[reference];
767 } else { 767 } else {
768 SVCERR << "WARNING: SV-XML: Unknown reference model id " 768 SVCERR << "WARNING: SV-XML: Unknown reference model id "
786 << endl; 786 << endl;
787 } 787 }
788 788
789 if (refModel && alignedModel && pathModel) { 789 if (refModel && alignedModel && pathModel) {
790 AlignmentModel *model = new AlignmentModel 790 AlignmentModel *model = new AlignmentModel
791 (refModel, alignedModel, 0, 0); 791 (refModel, alignedModel, nullptr, nullptr);
792 PathModel *pm = dynamic_cast<PathModel *>(pathModel); 792 PathModel *pm = dynamic_cast<PathModel *>(pathModel);
793 if (!pm) { 793 if (!pm) {
794 SVCERR << "WARNING: SV-XML: Model id " << path 794 SVCERR << "WARNING: SV-XML: Model id " << path
795 << " referenced as path for alignment " << id 795 << " referenced as path for alignment " << id
796 << " is not a path model" << endl; 796 << " is not a path model" << endl;
815 815
816 bool 816 bool
817 SVFileReader::readView(const QXmlAttributes &attributes) 817 SVFileReader::readView(const QXmlAttributes &attributes)
818 { 818 {
819 QString type = attributes.value("type"); 819 QString type = attributes.value("type");
820 m_currentPane = 0; 820 m_currentPane = nullptr;
821 821
822 if (type != "pane") { 822 if (type != "pane") {
823 SVCERR << "WARNING: SV-XML: Unexpected view type \"" 823 SVCERR << "WARNING: SV-XML: Unexpected view type \""
824 << type << "\"" << endl; 824 << type << "\"" << endl;
825 return false; 825 return false;
893 << type 893 << type
894 << "\"" << endl; 894 << "\"" << endl;
895 return false; 895 return false;
896 } 896 }
897 897
898 Layer *layer = 0; 898 Layer *layer = nullptr;
899 bool isNewLayer = false; 899 bool isNewLayer = false;
900 900
901 // Layers are expected to be defined in layer elements in the data 901 // Layers are expected to be defined in layer elements in the data
902 // section, and referred to in layer elements in the view 902 // section, and referred to in layer elements in the view
903 // sections. So if we're in the data section, we expect this 903 // sections. So if we're in the data section, we expect this
975 << " in layer definition" << endl; 975 << " in layer definition" << endl;
976 if (!layer->canExistWithoutModel()) { 976 if (!layer->canExistWithoutModel()) {
977 // Don't add a layer with an unknown model id 977 // Don't add a layer with an unknown model id
978 // unless it explicitly supports this state 978 // unless it explicitly supports this state
979 m_document->deleteLayer(layer); 979 m_document->deleteLayer(layer);
980 m_layers[id] = layer = 0; 980 m_layers[id] = layer = nullptr;
981 return false; 981 return false;
982 } 982 }
983 } 983 }
984 } 984 }
985 985
1004 1004
1005 layer->setLayerDormant(m_currentPane, dormant); 1005 layer->setLayerDormant(m_currentPane, dormant);
1006 } 1006 }
1007 1007
1008 m_currentLayer = layer; 1008 m_currentLayer = layer;
1009 m_inLayer = (layer != 0); 1009 m_inLayer = (layer != nullptr);
1010 1010
1011 return true; 1011 return true;
1012 } 1012 }
1013 1013
1014 bool 1014 bool
1024 return false; 1024 return false;
1025 } 1025 }
1026 1026
1027 int modelId = m_awaitingDatasets[id]; 1027 int modelId = m_awaitingDatasets[id];
1028 1028
1029 Model *model = 0; 1029 Model *model = nullptr;
1030 if (haveModel(modelId)) { 1030 if (haveModel(modelId)) {
1031 model = m_models[modelId]; 1031 model = m_models[modelId];
1032 } else { 1032 } else {
1033 SVCERR << "WARNING: SV-XML: Internal error: Unknown model " << modelId 1033 SVCERR << "WARNING: SV-XML: Internal error: Unknown model " << modelId
1034 << " expecting dataset " << id << endl; 1034 << " expecting dataset " << id << endl;
1060 break; 1060 break;
1061 } 1061 }
1062 1062
1063 if (!good) { 1063 if (!good) {
1064 SVCERR << "WARNING: SV-XML: Model id " << modelId << " has wrong number of dimensions or inappropriate type for " << dimensions << "-D dataset " << id << endl; 1064 SVCERR << "WARNING: SV-XML: Model id " << modelId << " has wrong number of dimensions or inappropriate type for " << dimensions << "-D dataset " << id << endl;
1065 m_currentDataset = 0; 1065 m_currentDataset = nullptr;
1066 return false; 1066 return false;
1067 } 1067 }
1068 1068
1069 m_currentDataset = model; 1069 m_currentDataset = model;
1070 return true; 1070 return true;
1295 1295
1296 if (haveModel(modelId)) { 1296 if (haveModel(modelId)) {
1297 m_currentDerivedModel = m_models[modelId]; 1297 m_currentDerivedModel = m_models[modelId];
1298 } else { 1298 } else {
1299 // we'll regenerate the model when the derivation element ends 1299 // we'll regenerate the model when the derivation element ends
1300 m_currentDerivedModel = 0; 1300 m_currentDerivedModel = nullptr;
1301 } 1301 }
1302 1302
1303 m_currentDerivedModelId = modelId; 1303 m_currentDerivedModelId = modelId;
1304 1304
1305 int sourceId = 0; 1305 int sourceId = 0;
1374 } 1374 }
1375 1375
1376 bool 1376 bool
1377 SVFileReader::readPlayParameters(const QXmlAttributes &attributes) 1377 SVFileReader::readPlayParameters(const QXmlAttributes &attributes)
1378 { 1378 {
1379 m_currentPlayParameters = 0; 1379 m_currentPlayParameters = nullptr;
1380 1380
1381 int modelId = 0; 1381 int modelId = 0;
1382 bool modelOk = false; 1382 bool modelOk = false;
1383 modelId = attributes.value("model").trimmed().toInt(&modelOk); 1383 modelId = attributes.value("model").trimmed().toInt(&modelOk);
1384 1384