aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/animations/qabstractanimationjob.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Support looping for "uncontrolled animations".Gunnar Sletta2013-09-261-18/+51
| | | | | | | | | | The render thread animations rely heavily on uncontrolled animations, meaning animations with duration=-1. We support this by adding a m_currentLoopStartTime and incrementally counting the finish time of each uncontrolled animation. Change-Id: I1f2ccea09aff4c51b1a7f98a2ddb58636af50557 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Animators - Render thread animation systemGunnar Sletta2013-09-211-0/+2
| | | | | | | | | | | | This introduces 6 new QML types for animating state in the scene graph when the UI thread is blocked. The QObject property being animated is updated after the animation completes. It works also with the "windows" and "basic" render loops, but offer litte benefit then compared to in the "threaded" case. Change-Id: Ic19e47c898c0b8bd53e457db922b3c9c457c8147 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Do not crash on some animation changesAlbert Astals Cid2012-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stop() might end up deleting the animationjob object so wrap the call with a RETURN_IF_DELETED Fixes valgrind complaining ==18380== Invalid read of size 1 ==18380== at 0x5530B24: QAbstractAnimationJob::setCurrentTime(int) (in /home/tsdgeos/qt5/qtdeclarative/lib/libQt5Qml.so.5.0.0) ==18380== by 0x5530BDE: QQmlAnimationTimer::updateAnimationsTime(long long) (in /home/tsdgeos/qt5/qtdeclarative/lib/libQt5Qml.so.5.0.0) ==18380== by 0x65C05DC: QUnifiedTimer::updateAnimationTimers(long long) (in /home/tsdgeos/qt5/qtbase/lib/libQt5Core.so.5.0.0) ==18380== by 0x65C10E3: QAnimationDriver::advanceAnimation(long long) (in /home/tsdgeos/qt5/qtbase/lib/libQt5Core.so.5.0.0) ==18380== by 0x5047DB9: QQuickRenderThreadSingleContextWindowManager::event(QEvent*) (qquickthreadedwindowmanager.cpp:588) ==18380== by 0x58D7F9B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /home/tsdgeos/qt5/qtbase/lib/libQt5Widgets.so.5.0.0) ==18380== by 0x58DB364: QApplication::notify(QObject*, QEvent*) (in /home/tsdgeos/qt5/qtbase/lib/libQt5Widgets.so.5.0.0) ==18380== by 0x6756B9D: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /home/tsdgeos/qt5/qtbase/lib/libQt5Core.so.5.0.0) ==18380== by 0x6758855: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /home/tsdgeos/qt5/qtbase/lib/libQt5Core.so.5.0.0) ==18380== by 0x679E7C2: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (in /home/tsdgeos/qt5/qtbase/lib/libQt5Core.so.5.0.0) ==18380== by 0x85B7AB4: g_main_context_dispatch (gmain.c:2715) ==18380== by 0x85B7DE7: g_main_context_iterate.isra.24 (gmain.c:3290) ==18380== Address 0x1642bd48 is 88 bytes inside a block of size 128 free'd ==18380== at 0x4C2A44B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==18380== by 0x4F0728B: QQuickBehavior::write(QVariant const&) (qquickbehavior.cpp:210) ==18380== by 0x53EB0FE: QQmlVMEMetaObject::metaCall(QMetaObject::Call, int, void**) (in /home/tsdgeos/qt5/qtdeclarative/lib/libQt5Qml.so.5.0.0) ==18380== by 0x54FEA08: StoreProperty(QV8Engine*, QObject*, QQmlPropertyData*, v8::Handle<v8::Value>) (in /home/tsdgeos/qt5/qtdeclarative/lib/libQt5Qml.so.5.0.0) ==18380== by 0x79ED2CE: v8::internal::JSObject::SetPropertyWithCallback(v8::internal::Object*, v8::internal::String*, v8::internal::Object*, v8::internal::JSObject*, v8::internal::StrictModeFlag) (in /home/tsdgeos/qt5/qtjsbackend/lib/libQt5V8.so.5.0.0) ==18380== by 0x7A0AE71: v8::internal::JSObject::SetPropertyForResult(v8::internal::LookupResult*, v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag) (in /home/tsdgeos/qt5/qtjsbackend/lib/libQt5V8.so.5.0.0) ==18380== by 0x7A0B2D8: v8::internal::JSReceiver::SetProperty(v8::internal::String*, v8::internal::Object*, PropertyAttributes, v8::internal::StrictModeFlag, bool) (in /home/tsdgeos/qt5/qtjsbackend/lib/libQt5V8.so.5.0.0) ==18380== by 0x79A8861: v8::internal::StoreIC::Store(v8::internal::InlineCacheState, v8::internal::StrictModeFlag, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::String>, v8::internal::Handle<v8::internal::Object>) (in /home/tsdgeos/qt5/qtjsbackend/lib/libQt5V8.so.5.0.0) ==18380== by 0x79A8DF0: v8::internal::StoreIC_Miss(v8::internal::Arguments, v8::internal::Isolate*) (in /home/tsdgeos/qt5/qtjsbackend/lib/libQt5V8.so.5.0.0) ==18380== by 0x24E8BD20618D: ??? ==18380== by 0x24E8BD237AC9: ??? ==18380== by 0x24E8BD2249E6: ??? Change-Id: Idcb195206d344bb526ee37f9172a6b3c029540db Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Add designer support for animations and componentCompleteMarco Bubke2012-11-221-1/+12
| | | | | | | | | In the designer animations confuse users, if you change a state or move a item around. Also component complete is called later by the designer. The call in the VME is to early. Change-Id: I49aa04edbc49fb44ddb7b52062307982865efd7e Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
* Fixed missing virtual destructors in qtdeclarative.Samuel Rødal2012-09-241-0/+4
| | | | | | Change-Id: I0b0e63b572617a56874e27361479de2690644aa3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add more RETURN_IF_DELETED checking in animation codeCharles Yin2012-05-251-1/+1
| | | | | Change-Id: I5f77cdc7a6bede547119b2a0b59b41d27cfc401a Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Add completeToBeginning()/completeToEnd() to animation controllerCharles Yin2012-05-231-3/+32
| | | | | Change-Id: I1abac96754cc82c8e0e00c58a27c09b68c5075c1 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* More defense programming in animation codeCharles Yin2012-05-171-2/+5
| | | | | | | | 1. Add more deletion checkings in animation job code 2. Add some more asserts Change-Id: I34772792ea4638b61eb2c3d65da5d35ce75183d7 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Add a new running property to QQuickTransitionCharles Yin2012-04-161-1/+0
| | | | | | | | | | | This read only property can be used to track the transition running state. As all animation items inside a Transition item are just animation defination templetes, so their running properties won't be updated during the transition animations running, which makes it hard to know the current running state of a transition animation. Change-Id: If7fc0616ba384abc6bf2da67c7c639430c3d8fb9 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* More refactoring on animation controllerCharles Yin2012-03-131-5/+31
| | | | | | | | | Add a flag and helper functions for disabling user control in QAbstractAnimationJob class and make it synchronized with QDeclarativeAnimation class's disableUserControl flag. Change-Id: Ifa84ab0c78291941469c33f2cafe5f61ee718b2c Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Return early if animationjob was deleted in all callback methods.Charles Yin2012-03-121-6/+9
| | | | | Change-Id: I703c8a8904ffd760683de4ee74544dff9eb53144 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-241-0/+544
Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>