Mercurial > hg > svapp
diff framework/SVFileReader.cpp @ 447:da520a68595a tonioni
When loading a session, do not import any layers for which the identified models can't be found
author | Chris Cannam |
---|---|
date | Tue, 31 Mar 2015 17:46:46 +0100 |
parents | 1c17a2c5e917 |
children | dc1a360f2b69 |
line wrap: on
line diff
--- a/framework/SVFileReader.cpp Tue Mar 31 17:27:28 2015 +0100 +++ b/framework/SVFileReader.cpp Tue Mar 31 17:46:46 2015 +0100 @@ -886,13 +886,18 @@ } else { cerr << "WARNING: SV-XML: Unknown model id " << modelId << " in layer definition" << endl; + + // Don't add a layer with an unknown model id + m_document->deleteLayer(layer); + m_layers[id] = layer = 0; + return false; } } - layer->setProperties(attributes); + if (layer) layer->setProperties(attributes); } - if (!m_inData && m_currentPane) { + if (!m_inData && m_currentPane && layer) { QString visible = attributes.value("visible"); bool dormant = (visible == "false"); @@ -912,7 +917,7 @@ } m_currentLayer = layer; - m_inLayer = true; + m_inLayer = (layer != 0); return true; }