# HG changeset patch # User Chris Cannam # Date 1562576875 -3600 # Node ID b679bae1627b6cf5056d33662abe98c4de74a70c # Parent 83178b4bb698804dc81e53cf86b94ca22e61ae7e Print object name as well (if a QObject) diff -r 83178b4bb698 -r b679bae1627b base/ById.cpp --- a/base/ById.cpp Sun Jul 07 16:42:47 2019 +0100 +++ b/base/ById.cpp Mon Jul 08 10:07:55 2019 +0100 @@ -50,10 +50,16 @@ SVCERR << "WARNING: ById map is not empty at close; some items have not been released" << endl; SVCERR << " Unreleased items are:" << endl; for (const auto &p: m_items) { - if (p.second && p.second.use_count() > 0) { - SVCERR << " - id #" << p.first - << ": type " << typeid(*p.second.get()).name() - << ", use count " << p.second.use_count() << endl; + auto ptr = p.second; + if (ptr && ptr.use_count() > 0) { + QString message = QString("id #%1: type %2") + .arg(p.first).arg(typeid(*ptr.get()).name()); + if (auto qobj = std::dynamic_pointer_cast(ptr)) { + message += QString(", object name \"%1\"") + .arg(qobj->objectName()); + } + message += QString(", use count %1").arg(ptr.use_count()); + SVCERR << " - " << message << endl; } } }