@@ -22,14 +22,14 @@
2222
2323#include <QQmlEngine>
2424
25−UnityMenuModelCache* UnityMenuModelCache::theCache = nullptr;
25+QPointer<UnityMenuModelCache> UnityMenuModelCache::theCache = nullptr;
2626
2727UnityMenuModelCache* UnityMenuModelCache::singleton()
2828{
29− if (!theCache) {
29+ if (theCache.isNull()) {
3030 theCache = new UnityMenuModelCache();
3131 }
32− return theCache;
32+ return theCache.data();
3333}
3434
3535UnityMenuModelCache::UnityMenuModelCache(QObject* parent)
@@ -50,8 +50,9 @@ QSharedPointer<UnityMenuModel> UnityMenuModelCache::model(const QByteArray& path
5050 QMutableHashIterator<QByteArray, QWeakPointer<UnityMenuModel>> iter(m_registry);
5151 while(iter.hasNext()) {
5252 auto keyVal = iter.next();
53− if (keyVal.value().toStrongRef().isNull()) {
53+ if (keyVal.value().isNull()) {
5454 iter.remove();
55+ break;
5556 }
5657 }
5758 });