Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
5.0.0
-
None
-
Mac OS 10.6 with qtdeclarative:animation-refactor branch at 67d8851e20aa50012d9360580af19f2f7476a093
Description
Tested on Mac OS 10.6 with qtdeclarative:animation-refactor branch at 67d8851e20aa50012d9360580af19f2f7476a093
With the following code, press space to start the PathAnimation. Pressing space a second time to restart the animation causes the application to hang.
The app does not hang if the second path below (commented out) is used instead.
import QtQuick 2.0 Item { id: root width: 800; height: 700 Rectangle { id: ball; width: 50; height: 50; radius: 50; color: "red" } PathAnimation { id: anim duration: 1000 target: ball path: Path { startX: 200; startY: 280 PathCurve { x: 150; y: 280 } PathCurve { x: 150; y: 80 } PathCurve { x: 0; y: 80 } } /* // this path does not hang the app path: Path { startX: 200; startY: 280 PathCurve { x: 100; y: 230 } PathCurve { x: 150; y: 80 } PathCurve { x: 0; y: 80 } } */ } focus: true Keys.onSpacePressed: { anim.restart() } }
Force quitting the app gives this backtrace:
^C Program received signal SIGINT, Interrupt. 0x000000010333de4f in QDeclarativePath::backwardsPointAt (path=@0x104e0e9b0, pathLength=@0x104e0ea68, attributePoints=@0x104e0e9c8, prevBez=@0x104e0e9e0, p=0, angle=0x0) at util/qdeclarativepath.cpp:613 613 prevLength = currLength - bezLength; (gdb) bt #0 0x000000010333de4f in QDeclarativePath::backwardsPointAt (path=@0x104e0e9b0, pathLength=@0x104e0ea68, attributePoints=@0x104e0e9c8, prevBez=@0x104e0e9e0, p=0, angle=0x0) at util/qdeclarativepath.cpp:613 #1 0x000000010333e87a in QDeclarativePath::sequentialPointAt (path=@0x104e0e9b0, pathLength=@0x104e0ea68, attributePoints=@0x104e0e9c8, prevBez=@0x104e0e9e0, p=0, angle=0x0) at util/qdeclarativepath.cpp:526 #2 0x000000010333e94a in QDeclarativePath::sequentialPointAt (this=0x104e0e890, p=0, angle=0x0) at util/qdeclarativepath.cpp:516 #3 0x000000010348695b in QQuickPathAnimationUpdater::setValue (this=0x106147490, v=0) at items/qquickanimation.cpp:705 #4 0x00000001032f3f69 in QDeclarativeBulkValueAnimator::updateCurrentTime (this=0x1061475a0, currentTime=0) at util/qdeclarativeanimation.cpp:1823 #5 0x000000010072742e in QAbstractAnimation2::setCurrentTime (this=0x1061475a0, msecs=0) at animations/qabstractanimation2.cpp:704 #6 0x00000001007270fa in QAbstractAnimation2::setState (this=0x1061475a0, newState=QAbstractAnimation2::Running) at animations/qabstractanimation2.cpp:566 #7 0x00000001007276d6 in QAbstractAnimation2::start (this=0x1061475a0) at animations/qabstractanimation2.cpp:722 #8 0x00000001032f8e0d in QDeclarativeAbstractAnimationPrivate::commence (this=0x104e0ca00) at util/qdeclarativeanimation.cpp:168 #9 0x00000001032f915a in QDeclarativeAbstractAnimation::setRunning (this=0x104e0c950, r=true) at util/qdeclarativeanimation.cpp:227 #10 0x00000001032f9330 in QDeclarativeAbstractAnimation::start (this=0x104e0c950) at util/qdeclarativeanimation.cpp:437 #11 0x00000001032f9350 in QDeclarativeAbstractAnimation::restart (this=0x104e0c950) at util/qdeclarativeanimation.cpp:499 #12 0x000000010353f7d1 in QDeclarativeAbstractAnimation::qt_static_metacall (_o=0x104e0c950, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff5fbfba30) at .moc/debug-shared/moc_qdeclarativeanimation_p.cpp:100 #13 0x000000010353fd43 in QDeclarativeAbstractAnimation::qt_metacall (this=0x104e0c950, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff5fbfba30) at .moc/debug-shared/moc_qdeclarativeanimation_p.cpp:241 #14 0x000000010356c168 in QQuickPathAnimation::qt_metacall (this=0x104e0c950, _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fff5fbfba30) at .moc/debug-shared/moc_qquickanimation_p.cpp:510 #15 0x0000000100d05c60 in QMetaObject::metacall (object=0x104e0c950, cl=QMetaObject::InvokeMetaMethod, idx=10, argv=0x7fff5fbfba30) at kernel/qmetaobject.cpp:248 #16 0x00000001006ddb7a in CallMethod (object=0x104e0c950, index=10, returnType=0, argCount=0, argTypes=0x0, engine=0x104d16310, callArgs=@0x7fff5fbfbe40) at qml/v8/qv8qobjectwrapper.cpp:1453 #17 0x00000001006ddf88 in CallPrecise (object=0x104e0c950, data=@0x7fff5fbfbe10, engine=0x104d16310, callArgs=@0x7fff5fbfbe40) at qml/v8/qv8qobjectwrapper.cpp:1666 #18 0x00000001006deaf4 in QV8QObjectWrapper::Invoke (args=@0x7fff5fbfc090) at qml/v8/qv8qobjectwrapper.cpp:1868 #19 0x0000000101e63f49 in v8::internal::HandleApiCallHelper<false> (args={<v8::internal::Arguments> = {<v8::internal::Embedded> = {<No data fields>}, length_ = 7, arguments_ = 0x7fff5fbfc258}, <No data fields>}, isolate=0x10580f200) at ../3rdparty/v8/src/builtins.cc:1164 #20 0x0000000101e640d1 in v8::internal::Builtin_Impl_HandleApiCall (args={<v8::internal::Arguments> = {<v8::internal::Embedded> = {<No data fields>}, length_ = 7, arguments_ = 0x7fff5fbfc258}, <No data fields>}, isolate=0x10580f200) at ../3rdparty/v8/src/builtins.cc:1181 #21 0x0000000101e6412c in v8::internal::Builtin_HandleApiCall (args={<v8::internal::Arguments> = {<v8::internal::Embedded> = {<No data fields>}, length_ = 7, arguments_ = 0x7fff5fbfc258}, <No data fields>}, isolate=0x10580f200) at ../3rdparty/v8/src/builtins.cc:1180 #22 0x0000273520e04402 in ?? () #23 0x0000273520e388f0 in ?? ()
(and more)