on xenial help sign in
set explicit object ownership
commit684a6d3e89b60144129686acadc01cdb6bf3a337 authorNick Dedekind <nick.dedekind@canonical.com> dateFri 12 Sep 2014, 14:06 (12 years ago) parentf38a47f
1 file changed+4−2
plugins/Unity/Indicators/unitymenumodelcache.cpp+4−2
plugins/Unity/Indicators/unitymenumodelcache.cpp+4−2
@@ -19,7 +19,8 @@
1919
2020#include "unitymenumodelcache.h"
2121#include <unitymenumodel.h>
22−#include <QDebug>
22+
23+#include <QQmlEngine>
2324
2425UnityMenuModelCache* UnityMenuModelCache::theCache = nullptr;
2526
@@ -45,13 +46,14 @@ QSharedPointer<UnityMenuModel> UnityMenuModelCache::model(const QByteArray& bus,
4546 return m_registry[path];
4647
4748 UnityMenuModel* model = new UnityMenuModel;
49+ QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
50+
4851 QSharedPointer<UnityMenuModel> menuModel(model);
4952 connect(model, &QObject::destroyed, this, [this] {
5053 QMutableHashIterator<QByteArray, QWeakPointer<UnityMenuModel>> iter(m_registry);
5154 while(iter.hasNext()) {
5255 auto keyVal = iter.next();
5356 if (keyVal.value().toStrongRef().isNull()) {
54− qDebug() << "BAH: destroyed model! " << keyVal.key();
5557 iter.remove();
5658 }
5759 }