Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.7.0 Beta
-
None
-
Mageia Linux Cauldron x86_64, Android 4.4
-
qtdeclarative: 5e651178b2d1ac9cea70913de21e0c5b2b7aaa0d
Description
To reproduce, run test program and click on second-first-second-first. Should crash.
Test program:
import QtQuick 2.6 import QtQuick.Controls 2.0 ApplicationWindow { visible: true width: 640 height: 480 StackView { id: stackView anchors.fill: parent initialItem: first } Rectangle { id: first color: "green" } Component { id: second Item { Drawer { edge: Qt.BottomEdge } Drawer { edge: Qt.RightEdge } } } footer: Row { spacing: 10 Button { text: "second" onClicked: stackView.replace(null, second) } Button { text: "first" onClicked: stackView.replace(null, first) } } }
Stack trace (full stack in the attachment):
1 QQuickItemPrivate::itemChange qquickitem.cpp 5952 0x7ffff7a4adfe 2 QQuickItemPrivate::removeChild qquickitem.cpp 2921 0x7ffff7a4310a 3 QQuickItem::setParentItem qquickitem.cpp 2668 0x7ffff7a423c5 4 QQuickStackElement::~QQuickStackElement qquickstackview_p.cpp 99 0x7fffd075f639 5 QQuickStackElement::~QQuickStackElement qquickstackview_p.cpp 110 0x7fffd075f754 6 qDeleteAll<QList<QQuickStackElement *>::const_iterator> qalgorithms.h 323 0x7fffd075e6ea 7 qDeleteAll<QList<QQuickStackElement *>> qalgorithms.h 331 0x7fffd075e2d0 8 QQuickStackViewPrivate::viewItemTransitionFinished qquickstackview_p.cpp 536 0x7fffd0761208 9 QQuickItemViewTransitioner::finishedTransition qquickitemviewtransition.cpp 324 0x7ffff7b8654c 10 QQuickItemViewTransitionJob::finished qquickitemviewtransition.cpp 143 0x7ffff7b85c3e 11 QQuickTransitionManager::complete qquicktransitionmanager.cpp 104 0x7ffff79711cb 12 ParallelAnimationWrapper::updateState qquicktransition.cpp 196 0x7ffff797dec8 13 QAbstractAnimationJob::setState qabstractanimationjob.cpp 366 0x7ffff6f86116 14 QAbstractAnimationJob::stop qabstractanimationjob.cpp 536 0x7ffff6f868de 15 QParallelAnimationGroupJob::uncontrolledAnimationFinished qparallelanimationgroupjob.cpp 236 0x7ffff6f8aa84 16 QAbstractAnimationJob::finished qabstractanimationjob.cpp 600 0x7ffff6f86b8e 17 QAbstractAnimationJob::setState qabstractanimationjob.cpp 399 0x7ffff6f8630b 18 QAbstractAnimationJob::stop qabstractanimationjob.cpp 536 0x7ffff6f868de 19 QQuickAnimatorController::stopProxyJobs qquickanimatorcontroller.cpp 256 0x7ffff79bc7d0 20 QQuickAnimatorControllerGuiThreadEntity::frameSwapped qquickanimatorcontroller.cpp 65 0x7ffff79bb699 21 QQuickAnimatorControllerGuiThreadEntity::qt_static_metacall moc_qquickanimatorcontroller_p.cpp 164 0x7ffff7bf7dfa 22 QMetaObject::activate qobject.cpp 3740 0x7ffff68b13c6 23 QMetaObject::activate qobject.cpp 3602 0x7ffff68b0bba 24 QQuickWindow::frameSwapped moc_qquickwindow.cpp 454 0x7ffff7a71e2f 25 QQuickWindowPrivate::fireFrameSwapped qquickwindow_p.h 224 0x7ffff7a24b34 26 QSGGuiThreadRenderLoop::renderWindow qsgrenderloop.cpp 412 0x7ffff7a24467 27 QSGGuiThreadRenderLoop::handleUpdateRequest qsgrenderloop.cpp 476 0x7ffff7a248ad 28 QQuickWindow::event qquickwindow.cpp 1499 0x7ffff7a66d24 29 QCoreApplicationPrivate::notify_helper qcoreapplication.cpp 1122 0x7ffff68706b8 30 doNotify qcoreapplication.cpp 1063 0x7ffff687033b 31 QCoreApplication::notify qcoreapplication.cpp 1049 0x7ffff68702ae 32 QGuiApplication::notify qguiapplication.cpp 1648 0x7ffff72effb4 33 QCoreApplication::notifyInternal2 qcoreapplication.cpp 988 0x7ffff687023e 34 QCoreApplication::sendEvent qcoreapplication.h 231 0x7ffff72d6a42 35 QWindowPrivate::deliverUpdateRequest qwindow.cpp 2171 0x7ffff73024ff 36 QWindow::event qwindow.cpp 2142 0x7ffff730241a 37 QQuickWindow::event qquickwindow.cpp 1518 0x7ffff7a66db6 38 QCoreApplicationPrivate::notify_helper qcoreapplication.cpp 1122 0x7ffff68706b8 39 doNotify qcoreapplication.cpp 1063 0x7ffff687033b 40 QCoreApplication::notify qcoreapplication.cpp 1049 0x7ffff68702ae 41 QGuiApplication::notify qguiapplication.cpp 1648 0x7ffff72effb4 42 QCoreApplication::notifyInternal2 qcoreapplication.cpp 988 0x7ffff687023e 43 QCoreApplication::sendEvent qcoreapplication.h 231 0x7ffff68742aa 44 QTimerInfoList::activateTimers qtimerinfo_unix.cpp 644 0x7ffff68ea3cc 45 timerSourceDispatch qeventdispatcher_glib.cpp 182 0x7ffff68eb6d8 46 g_main_context_dispatch 0x7ffff3851157 47 g_main_context_iterate.isra 0x7ffff3851388 48 g_main_context_iteration 0x7ffff385142c 49 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 423 0x7ffff68ec0a5 50 QPAEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 121 0x7fffe8173686 51 QEventLoop::processEvents qeventloop.cpp 134 0x7ffff686cba8 52 QEventLoop::exec qeventloop.cpp 210 0x7ffff686cea4 53 QCoreApplication::exec qcoreapplication.cpp 1261 0x7ffff6870988 54 QGuiApplication::exec qguiapplication.cpp 1639 0x7ffff72eff64 55 main main.cpp 12 0x400fcf
Attachments
Issue Links
- is replaced by
-
QTBUG-54732 Item change listener loops break on listener removal
- Closed
- relates to
-
QTBUG-54727 Tumbler: destroyed item change listeners notified
- Closed
For Gerrit Dashboard: QTBUG-53453 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
159505,6 | Fix QQuickItem change listeners | 5.7.0 | qt/qtdeclarative | Status: MERGED | -2 | 0 |