-
Bug
-
Resolution: Duplicate
-
P2: Important
-
5.2.0, 5.2.1, 5.3.0 Alpha
-
None
-
Mac OS X 10.9.2, Windows 8.1
-
dc9bf8ecdcc2ee59006c7ce2d57faadd755e9557 (qtdeclarative)
Passing ListModel variables to Loader results in crash.
import QtQuick 2.0
Rectangle {
width: 320; height: 480;
property int count : 6;
ListModel {
id: testModel
}
Timer {
interval: 500; running: true; repeat: true
onTriggered: {
testModel.append({"name" : "test " + count});
count = count + 1;
if (count%10 == 0) {
testModel.clear();
}
}
}
Component {
id: menuItem
Rectangle {
width: 5
height: 5
color: "blue"
Text {
text: modelData.name + " is " + modelIndex
}
}
}
GridView {
anchors {
fill: parent
}
model: testModel
delegate: Rectangle {
width: 10;
height: 10;
Loader {
id: loader
property var modelData: model
property var modelIndex: index
sourceComponent: menuItem
}
Text {
text: name
}
}
}
}
Call stack:
testApp.exe!qt_assert(const char * assertion=0x04a59d98, const char * file=0x04a59ce0, int line=497) Line 2124 C++
testApp.exe!QQmlEnginePrivate::get(QQmlEngine * e=0x00000000) Line 497 C++
testApp.exe!QQmlVMEMetaObject::readVarProperty(int id=0) Line 1001 C++
testApp.exe!QQmlVMEMetaObject::vmeProperty(int index=50) Line 1204 C++
testApp.exe!QV4::QObjectWrapper::getProperty(QObject * object=0x0abf3698, QV4::ExecutionContext * ctx=0x0036bb38, QQmlPropertyData * property=0x0aafaae8, bool captureRequired=true) Line 393 C++
testApp.exe!QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionContext * ctx=0x0036bb38, QQmlContextData * qmlContext=0x0abf5ef0, QV4::String * n=0x00d7c000, QV4::QObjectWrapper::RevisionMode revisionMode=CheckRevision, bool * hasProperty=0x0036b9bb, bool includeImports=false) Line 333 C++
testApp.exe!QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionContext * ctx=0x0036bb38, QQmlContextData * qmlContext=0x0abf5ef0, QObject * object=0x0abf3698, QV4::String * name=0x00d7c000, QV4::QObjectWrapper::RevisionMode revisionMode=CheckRevision, bool * hasProperty=0x0036b9bb) Line 422 C++
testApp.exe!QV4::QmlContextWrapper::get(QV4::Managed * m=0x01101f00, const QV4::StringRef name={...}, bool * hasProperty=0x0036baaa) Line 263 C++
testApp.exe!QV4::Object::get(const QV4::StringRef name={...}, bool * hasProperty=0x0036baaa) Line 247 C++
testApp.exe!QV4::ExecutionContext::getProperty(const QV4::StringRef name={...}) Line 390 C++
testApp.exe!QV4::__qmljs_get_activation_property(QV4::ExecutionContext * ctx=0x0036bb38, const QV4::StringRef name={...}) Line 679 C++
085f0480() Unknown
[Frames below may be incorrect and/or missing]
testApp.exe!QV4::SimpleScriptFunction::call(QV4::Managed * that=0x00ef1560, QV4::CallData * callData=0x08e00008) Line 585 C++
testApp.exe!QV4::Object::call(QV4::CallData * d=0x08e00008) Line 273 C++
testApp.exe!QQmlJavaScriptExpression::evaluate(QQmlContextData * context=0x0abf6288, const QV4::ValueRef function={...}, QV4::CallData * callData=0x08e00008, bool * isUndefined=0x0036bdad) Line 166 C++
testApp.exe!QQmlJavaScriptExpression::evaluate(QQmlContextData * context=0x0abf6288, const QV4::ValueRef function={...}, bool * isUndefined=0x0036bdad) Line 123 C++
testApp.exe!QQmlBinding::update(QFlags<enum QQmlPropertyPrivate::WriteFlag> flags={...}) Line 253 C++
testApp.exe!QQmlBinding::update() Line 106 C++
testApp.exe!QQmlBinding::expressionChanged(QQmlJavaScriptExpression * e=0x0abf69a8) Line 313 C++
testApp.exe!QQmlJavaScriptExpressionGuard_callback(QQmlNotifierEndpoint * e=0x0a993ff0, void * * __formal=0x00000000) Line 372 C++
testApp.exe!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint=0x0a993ff0, void * * a=0x00000000) Line 81 C++
testApp.exe!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal=0x0abf36a8, QObject * object=0x0abf3698, int index=39, void * * a=0x00000000) Line 721 C++
testApp.exe!QMetaObject::activate(QObject * sender=0x0abf3698, int signalOffset=39, int local_signal_index=0, void * * argv=0x00000000) Line 3569 C++
testApp.exe!QQmlVMEMetaObject::activate(QObject * object=0x0abf3698, int index=54, void * * args=0x00000000) Line 1332 C++
testApp.exe!QQmlVMEVariantQObjectPtr::objectDestroyed(QObject * __formal=0x0aaeac18) Line 88 C++
testApp.exe!QQmlData::destroyed(QObject * object=0x0aaeac18) Line 1659 C++
testApp.exe!QQmlData::destroyed(QAbstractDeclarativeData * d=0x0ab03bf8, QObject * o=0x0aaeac18) Line 633 C++
testApp.exe!QObject::~QObject() Line 916 C++
testApp.exe!QQmlDelegateModelItem::~QQmlDelegateModelItem() Line 1843 C++
testApp.exe!QQmlDMCachedModelData::~QQmlDMCachedModelData() C++
testApp.exe!QQmlDMAbstractItemModelData::~QQmlDMAbstractItemModelData() C++
testApp.exe!QQmlDMAbstractItemModelData::`scalar deleting destructor'(unsigned int) C++
testApp.exe!QQmlDelegateModelItem::Dispose() Line 1855 C++
testApp.exe!QQmlDelegateModelPrivate::release(QObject * object=0x0abf34d0) Line 521 C++
testApp.exe!QQmlDelegateModel::release(QObject * item=0x0abf34d0) Line 537 C++
testApp.exe!QQuickItemViewPrivate::releaseItem(FxViewItem * item=0x0abf70a8) Line 2341 C++
testApp.exe!QQuickItemViewPrivate::applyModelChanges(QQuickItemViewPrivate::ChangeResult * totalInsertionResult=0x0036c3dc, QQuickItemViewPrivate::ChangeResult * totalRemovalResult=0x0036c40c) Line 2025 C++
testApp.exe!QQuickItemViewPrivate::layout() Line 1830 C++
testApp.exe!QQuickItemView::updatePolish() Line 1440 C++
testApp.exe!QQuickWindowPrivate::polishItems() Line 269 C++
testApp.exe!QSGWindowsRenderLoop::renderWindow(QQuickWindow * window=0x0843f6c0) Line 474 C++
testApp.exe!QSGWindowsRenderLoop::render() Line 425 C++
testApp.exe!QSGWindowsRenderLoop::event(QEvent * event=0x0036cc60) Line 405 C++
testApp.exe!QApplicationPrivate::notify_helper(QObject * receiver=0x0044d788, QEvent * e=0x0036cc60) Line 3520 C++
testApp.exe!QApplication::notify(QObject * receiver=0x0044d788, QEvent * e=0x0036cc60) Line 2940 C++
testApp.exe!QCoreApplication::notifyInternal(QObject * receiver=0x0044d788, QEvent * event=0x0036cc60) Line 937 C++
testApp.exe!QCoreApplication::sendEvent(QObject * receiver=0x0044d788, QEvent * event=0x0036cc60) Line 237 C++
testApp.exe!QEventDispatcherWin32Private::sendTimerEvent(int timerId=2) Line 585 C++
testApp.exe!QEventDispatcherWin32::event(QEvent * e=0x0ab55258) Line 1137 C++
testApp.exe!QApplicationPrivate::notify_helper(QObject * receiver=0x003f19f0, QEvent * e=0x0ab55258) Line 3520 C++
testApp.exe!QApplication::notify(QObject * receiver=0x003f19f0, QEvent * e=0x0ab55258) Line 2940 C++
testApp.exe!QCoreApplication::notifyInternal(QObject * receiver=0x003f19f0, QEvent * event=0x0ab55258) Line 937 C++
testApp.exe!QCoreApplication::sendEvent(QObject * receiver=0x003f19f0, QEvent * event=0x0ab55258) Line 237 C++
testApp.exe!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x00000000, int event_type=0, QThreadData * data=0x003eeaf0) Line 1541 C++
testApp.exe!QCoreApplication::sendPostedEvents(QObject * receiver=0x00000000, int event_type=0) Line 1399 C++
testApp.exe!QWindowsGuiEventDispatcher::sendPostedEvents() Line 88 C++
testApp.exe!qt_internal_proc(HWND__ * hwnd=0x007d0e06, unsigned int message=1025, unsigned int wp=0, long lp=0) Line 423 C++
user32.dll!_InternalCallWinProc@20() Unknown
user32.dll!_UserCallWinProcCheckWow@32() Unknown
user32.dll!_DispatchMessageWorker@8() Unknown
user32.dll!_DispatchMessageW@4() Unknown
testApp.exe!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 757 C++
testApp.exe!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 80 C++
testApp.exe!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 137 C++
testApp.exe!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 212 C++
- is replaced by
-
QTBUG-37227 Assert in qqmlengine_p.h when running the following testcase
-
- Closed
-