~saviq/unity8/rating-non-interactive

« back to all changes in this revision

Viewing changes to tests/mocks/Unity/Indicators/fakeindicatorsmodel.cpp

  • Committer: CI bot
  • Author(s): Albert Astals
  • Date: 2014-07-03 14:47:10 UTC
  • mfrom: (996.3.1 investigate_test_shell_crash)
  • Revision ID: ps-jenkins@lists.canonical.com-20140703144710-7fdwrq0vjygd8klt
Fix valgrind warning by not emitting reset on model destructor

That won't be supported until Qt 5.4

More info at https://bugreports.qt-project.org/browse/QTBUG-39780

Warning was

==16693== Invalid read of size 8
==16693==    at 0x72B19A0: QQmlContext::isValid() const (qqmlcontext.cpp:231)
==16693==    by 0x736C82B: QQmlDelegateModelPrivate::emitChanges() (qqmldelegatemodel.cpp:1412)
==16693==    by 0x7372AE6: QQmlDelegateModel::_q_modelReset() (qqmldelegatemodel.cpp:1463)
==16693==    by 0x7397224: QQmlDelegateModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qqmldelegatemodel_p.cpp:196)
==16693==    by 0x739769E: QQmlDelegateModel::qt_metacall(QMetaObject::Call, int, void**) (moc_qqmldelegatemodel_p.cpp:292)
==16693==    by 0x66379CC: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.0)
==16693==    by 0x65AEEFD: QAbstractItemModel::endResetModel() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.0)
==16693==    by 0x23461EFD: FakeIndicatorsModel::unload() (fakeindicatorsmodel.cpp:53)
==16693==    by 0x23461E13: FakeIndicatorsModel::~FakeIndicatorsModel() (fakeindicatorsmodel.cpp:34)
==16693==    by 0x2345C073: QQmlPrivate::QQmlElement<FakeIndicatorsModel>::~QQmlElement() (in /home/tsdgeos_work/phablet/unity8/investigate_test_shell_crash/builddir/tests/mocks/Unity/Indicators/libIndicatorsFakeQml.so)
==16693==    by 0x2345C0A3: QQmlPrivate::QQmlElement<FakeIndicatorsModel>::~QQmlElement() (qqmlprivate.h:106)
==16693==    by 0x663636B: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.0)
==16693==  Address 0x1862d448 is 8 bytes inside a block of size 16 free'd
==16693==    at 0x4C2C2BC: operator delete(void*) (vg_replace_malloc.c:503)
==16693==    by 0x72B21B8: QQmlContextData::destroy() (qqmlcontext.cpp:647)
==16693==    by 0x7293458: QQmlPrivate::qdeclarativeelement_destructor(QObject*) (qqmlengine.cpp:612)
==16693==    by 0x6C0CADD: QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (qqmlprivate.h:105)
==16693==    by 0x663636B: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.0)
==16693==    by 0x663F0EB: QObject::~QObject() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.0)
==16693==    by 0x6BF64B5: QQuickItem::~QQuickItem() (qquickitem.cpp:2064)
==16693==    by 0x6C0CAE5: QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (qqmlprivate.h:106)
==16693==    by 0x663636B: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.0)
==16693==    by 0x663F0EB: QObject::~QObject() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.3.0)
==16693==    by 0x6BF64B5: QQuickItem::~QQuickItem() (qquickitem.cpp:2064)
==16693==    by 0x6C0CAE5: QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement() (qqmlprivate.h:106)
 Fixes: 1332598

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
/*! \internal */
32
32
FakeIndicatorsModel::~FakeIndicatorsModel()
33
33
{
34
 
    unload();
 
34
    qDeleteAll(m_indicators);
35
35
}
36
36
 
37
37
int FakeIndicatorsModel::count() const