# HG changeset patch # User Chris Cannam # Date 1487764899 0 # Node ID 368449629a3006cc466ebec71773cab204c8ba2d # Parent f204f2fcb15e61ee7fc3e1341b42bb84b6235233 Fix various "model deleted with no aboutToDelete notification" warnings (and one associated potential memory leak) diff -r f204f2fcb15e -r 368449629a30 data/model/Dense3DModelPeakCache.cpp --- a/data/model/Dense3DModelPeakCache.cpp Wed Feb 22 09:53:41 2017 +0000 +++ b/data/model/Dense3DModelPeakCache.cpp Wed Feb 22 12:01:39 2017 +0000 @@ -35,11 +35,11 @@ this, SLOT(sourceModelChanged())); connect(source, SIGNAL(aboutToBeDeleted()), this, SLOT(sourceModelAboutToBeDeleted())); - } Dense3DModelPeakCache::~Dense3DModelPeakCache() { + if (m_cache) m_cache->aboutToDelete(); delete m_cache; } diff -r f204f2fcb15e -r 368449629a30 data/model/Model.cpp --- a/data/model/Model.cpp Wed Feb 22 09:53:41 2017 +0000 +++ b/data/model/Model.cpp Wed Feb 22 12:01:39 2017 +0000 @@ -27,9 +27,11 @@ // SVDEBUG << "Model::~Model(" << this << ")" << endl; if (!m_aboutToDelete) { - SVDEBUG << "NOTE: Model::~Model(" << this << ", \"" - << objectName() << "\"): Model deleted " - << "with no aboutToDelete notification" << endl; + SVDEBUG << "NOTE: Model(" << this << ", \"" + << objectName() << "\", type uri <" + << m_typeUri << ">)::~Model(): Model deleted " + << "with no aboutToDelete notification" + << endl; } if (m_alignment) { @@ -59,13 +61,16 @@ void Model::aboutToDelete() { -// cerr << "Model(" << this << ")::aboutToDelete()" << endl; +// SVDEBUG << "Model(" << this << ", \"" +// << objectName() << "\", type uri <" +// << m_typeUri << ">)::aboutToDelete()" << endl; if (m_aboutToDelete) { - cerr << "WARNING: Model(" << this << ", \"" - << objectName() << "\")::aboutToDelete: " - << "aboutToDelete called more than once for the same model" - << endl; + SVDEBUG << "WARNING: Model(" << this << ", \"" + << objectName() << "\", type uri <" + << m_typeUri << ">)::aboutToDelete: " + << "aboutToDelete called more than once for the same model" + << endl; } emit aboutToBeDeleted();