@@ -22,14 +22,14 @@
23#include <QQmlEngine>
23#include <QQmlEngine>
25−UnityMenuModelCache* UnityMenuModelCache::theCache = nullptr;
25+QPointer<UnityMenuModelCache> UnityMenuModelCache::theCache = nullptr;
27UnityMenuModelCache* UnityMenuModelCache::singleton()
27UnityMenuModelCache* UnityMenuModelCache::singleton()
29− if (!theCache) {
29+ if (theCache.isNull()) {
30 theCache = new UnityMenuModelCache();
30 theCache = new UnityMenuModelCache();
32− return theCache;
32+ return theCache.data();
35UnityMenuModelCache::UnityMenuModelCache(QObject* parent)
35UnityMenuModelCache::UnityMenuModelCache(QObject* parent)
@@ -50,8 +50,9 @@ QSharedPointer<UnityMenuModel> UnityMenuModelCache::model(const QByteArray& path
50 QMutableHashIterator<QByteArray, QWeakPointer<UnityMenuModel>> iter(m_registry);
50 QMutableHashIterator<QByteArray, QWeakPointer<UnityMenuModel>> iter(m_registry);
51 while(iter.hasNext()) {
51 while(iter.hasNext()) {
52 auto keyVal = iter.next();
52 auto keyVal = iter.next();
53− if (keyVal.value().toStrongRef().isNull()) {
53+ if (keyVal.value().isNull()) {
54 iter.remove();
54 iter.remove();