Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
4.8.3, 5.0.0 Beta 1, 5.3.1
-
None
Description
Using the following example, click the open text to cause the green rect to expand, then toggle the portrait/landscape button a few times to trigger the crash.
import QtQuick 1.1 Item { id: window width: 480 height: 640 property bool portrait: true property bool closed: false Item { id: container anchors { left: parent.left; top: parent.top; right: parent.right } height: 480 Item { width: portrait ? 320 : 480 height: portrait ? 480 : 320 anchors.centerIn: parent Rectangle { id: menu color: "green" anchors { left: parent.left; top: parent.top } } Rectangle { id: content color: "black" anchors { right: parent.right; bottom: parent.bottom } Text { anchors.centerIn: parent text: closed ? "Close" : "Open" font.pixelSize: 30 color: "white" } } MouseArea { anchors.fill: parent onClicked: window.closed = !window.closed } } } states: [ State { name: "portrait" when: window.portrait && !window.closed AnchorChanges { target: menu anchors { bottom: parent.verticalCenter; right: parent.right } } AnchorChanges { target: content anchors { top: parent.top; left:parent.left } } }, State { name: "portrait-closed" extend: "portrait" when: window.portrait && window.closed AnchorChanges { target: content anchors.top: parent.verticalCenter } }, State { name: "landscape" when: !window.portrait && !window.closed AnchorChanges { target: menu anchors { bottom: parent.bottom; right: parent.horizontalCenter } } AnchorChanges { target: content anchors { top: parent.top; left:parent.left } } }, State { name: "landscape-closed" extend: "landscape" when: !window.portrait && window.closed AnchorChanges { target: content anchors.left: parent.horizontalCenter } } ] transitions: [ Transition { from: "portrait"; to: "portrait-closed"; reversible: true AnchorAnimation { duration: 300 } }, Transition { from: "landscape"; to: "landscape-closed"; reversible: true AnchorAnimation { duration: 300 } } ] Item { anchors { left: parent.left; top: container.bottom right: parent.right; bottom: parent.bottom } Rectangle { anchors.fill: buttonText anchors.margins: -20 color: "lightsteelblue" radius: 4 } Text { id: buttonText anchors.centerIn: parent text: window.portrait ? "Portrait" : "Landscape" font.pixelSize: 30 } MouseArea { anchors.fill: buttonText anchors.margins: -20 onClicked: window.portrait = !window.portrait } } }
0x00007ffff793b7b4 in QDeclarativeAbstractBinding::removeFromObject (this=0x785540) at /.../src/declarative/qml/qdeclarativebinding.cpp:156 156 *m_prevBinding = m_nextBinding; (gdb) bt #0 0x00007ffff793b7b4 in QDeclarativeAbstractBinding::removeFromObject (this=0x785540) at /.../src/declarative/qml/qdeclarativebinding.cpp:156 #1 0x00007ffff793b540 in QDeclarativeAbstractBinding::addToObject (this=0x785540, object=0x6fb280, index=1) at /.../src/declarative/qml/qdeclarativebinding.cpp:104 #2 0x00007ffff7941142 in QDeclarativePropertyPrivate::setBinding (object=0x6fb280, coreIndex=1, valueTypeIndex=-1, newBinding=0x785540, flags=...) at /.../src/declarative/qml/qdeclarativeproperty.cpp:795 #3 0x00007ffff79409ee in QDeclarativePropertyPrivate::setBinding (that=..., newBinding=0x785540, flags=...) at /.../src/declarative/qml/qdeclarativeproperty.cpp:671 #4 0x00007ffff7826655 in QDeclarativeAnchorChanges::execute (this=0x6f9470, reason=QDeclarativeActionEvent::FastForward) at /.../src/declarative/util/qdeclarativestateoperations.cpp:1160 #5 0x00007ffff7820044 in QDeclarativeTransitionManager::transition (this=0x702158, list=..., transition=0x0) at /.../src/declarative/util/qdeclarativetransitionmanager.cpp:156 #6 0x00007ffff781c09f in QDeclarativeState::apply (this=0x702d40, group=0x6e3bc0, trans=0x0, revert=0x6f22d0) at /.../src/declarative/util/qdeclarativestate.cpp:722 #7 0x00007ffff7835362 in QDeclarativeStateGroupPrivate::setCurrentStateInternal (this=0x6f7530, state=..., ignoreTrans=false) at /.../src/declarative/util/qdeclarativestategroup.cpp:476 #8 0x00007ffff7834226 in QDeclarativeStateGroup::setState (this=0x6e3bc0, state=...) at /.../src/declarative/util/qdeclarativestategroup.cpp:292 #9 0x00007ffff78346ab in QDeclarativeStateGroupPrivate::updateAutoState (this=0x6f7530) at /.../src/declarative/util/qdeclarativestategroup.cpp:346 #10 0x00007ffff78344b0 in QDeclarativeStateGroup::updateAutoState (this=0x6e3bc0) at /.../src/declarative/util/qdeclarativestategroup.cpp:327 #11 0x00007ffff7819cbe in QDeclarativeState::setWhen (this=0x6f6610, when=0x6faa00) at /.../src/declarative/util/qdeclarativestate.cpp:256 #12 0x00007ffff7a5ddd4 in QDeclarativeState::qt_metacall (this=0x6f6610, _c=QMetaObject::WriteProperty, _id=1, _a=0x7fffffff9f70) at .moc/debug-shared/moc_qdeclarativestate_p.cpp:181 #13 0x00007ffff5c56694 in QMetaObject::metacall (object=0x6f6610, cl=QMetaObject::WriteProperty, idx=2, argv=0x7fffffff9f70) at /.../src/corelib/kernel/qmetaobject.cpp:245 #14 0x00007ffff793c53c in QDeclarativeBinding::update (this=0x6faa00, flags=...) at /.../src/declarative/qml/qdeclarativebinding.cpp:359 #15 0x00007ffff793db3e in QDeclarativeBinding::update (this=0x6faa00) at ../../include/QtDeclarative/private/../../../../../../depot/qt/4.8/src/declarative/qml/qdeclarativebinding_p.h:208 #16 0x00007ffff793d4da in QDeclarativeBindingPrivate::emitValueChanged (this=0x6e7120) at /.../src/declarative/qml/qdeclarativebinding.cpp:469 #17 0x00007ffff793a309 in QDeclarativeExpressionPrivate::_q_notify (this=0x6e7120) at /.../src/declarative/qml/qdeclarativeexpression.cpp:800 #18 0x00007ffff793a636 in QDeclarativeExpression::qt_static_metacall (_o=0x6faa00, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffa440) at .moc/debug-shared/moc_qdeclarativeexpression.cpp:54 #19 0x00007ffff793a72a in QDeclarativeExpression::qt_metacall (this=0x6faa00, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffa440) at .moc/debug-shared/moc_qdeclarativeexpression.cpp:94 #20 0x00007ffff7a76246 in QDeclarativeBinding::qt_metacall (this=0x6faa00, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffa440) at .moc/debug-shared/moc_qdeclarativebinding_p.cpp:86 #21 0x00007ffff5c56694 in QMetaObject::metacall (object=0x6faa00, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0x7fffffffa440) at /.../src/corelib/kernel/qmetaobject.cpp:245 #22 0x00007ffff5c6c7b3 in QMetaObject::activate (sender=0x703220, m=0x755658, local_signal_index=0, argv=0x0) at /.../src/corelib/kernel/qobject.cpp:3558 ---Type <return> to continue, or q <return> to quit--- #23 0x00007ffff5c6caf0 in QMetaObject::activate (sender=0x703220, signal_index=32, argv=0x0) at /.../src/corelib/kernel/qobject.cpp:3615 #24 0x00007ffff791fa22 in QDeclarativeVMEMetaObject::metaCall (this=0x755650, c=QMetaObject::WriteProperty, _id=41, a=0x7fffffffa810) at /.../src/declarative/qml/qdeclarativevmemetaobject.cpp:564 #25 0x00007ffff5c56670 in QMetaObject::metacall (object=0x703220, cl=QMetaObject::WriteProperty, idx=41, argv=0x7fffffffa810) at /.../src/corelib/kernel/qmetaobject.cpp:243 #26 0x00007ffff7942a51 in QDeclarativePropertyPrivate::write (object=0x703220, property=..., value=..., context=0x755250, flags=...) at /.../src/declarative/qml/qdeclarativeproperty.cpp:1147 #27 0x00007ffff79ed6a1 in QDeclarativeObjectScriptClass::setProperty (this=0x733c80, obj=0x703220, name=@0x7fffffffad98: 0x750940, value=..., context=0x7fffef6a1048, evalContext=0x755250) at /.../src/declarative/qml/qdeclarativeobjectscriptclass.cpp:439 #28 0x00007ffff79ec7a0 in QDeclarativeObjectScriptClass::setProperty (this=0x733c80, object=0x6f4520, name=@0x7fffffffad98: 0x750940, value=...) at /.../src/declarative/qml/qdeclarativeobjectscriptclass.cpp:329 #29 0x00007ffff4dbc658 in QScript::DeclarativeObjectDelegate::put (this=0x6f55c0, object=0x7ffff7f85440, exec=0x7fffef6a1048, propertyName=..., value=..., slot=...) at /.../src/script/bridge/qscriptdeclarativeobject.cpp:99 #30 0x00007ffff4da6489 in QScriptObject::put (this=0x7ffff7f85440, exec=0x7fffef6a1048, propertyName=..., value=..., slot=...) at /.../src/script/bridge/qscriptobject.cpp:80 #31 0x00007ffff4c6a929 in QTJSC::JSValue::put (this=0x7fffffffaed0, exec=0x7fffef6a1048, propertyName=..., value=..., slot=...) at /.../src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:658 #32 0x00007ffff4c99f10 in QTJSC::cti_op_put_by_id_generic (args=0x7fffffffaf10) at /.../src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:1224 #33 0x00007ffff4c994c3 in QTJSC::JITThunks::tryCacheGetByID (callFrame=0x16, codeBlock=0x7fffffffaea0, returnAddress=..., baseValue=..., propertyName=..., slot=..., stubInfo=0x7ffff7f85440) at /.../src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:926