Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.4.1
-
None
-
iOS 8.2 (12D508), Qt 5.4.1
Description
Using attached Drag properties will crash on iOS device in QOpenGL2PainEngineEx using the following QML;
import QtQuick 2.4 import QtQuick.Window 2.2 Window { visible: true Rectangle { id: draggable color: "red" width: 100; height: 50 Drag.dragType: Drag.Automatic Drag.active: dragArea.drag.active Text { anchors.centerIn: parent text: "drag me" } } MouseArea { id: dragArea drag.target: draggable anchors.fill: draggable } Rectangle { color: dropArea.containsDrag ? "green" : "blue" x: 100; y: 100; width: 100; height: 50 DropArea { id: dropArea anchors.fill: parent } Text { anchors.centerIn: parent; text: "here" } } }
backtrace;
#0 0x00000001005d3d44 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data() const at /work/build/qt5_workdir/w/s/qtbase/src/gui/../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:135 #1 0x000000010061ce10 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::pointer qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&) at /work/build/qt5_workdir/w/s/qtbase/src/gui/../../include/QtCore/../../src/corelib/global/qglobal.h:961 #2 0x000000010061d074 in QOpenGLContext::d_func() at /work/build/qt5_workdir/w/s/qtbase/src/gui/../../include/QtGui/../../src/gui/kernel/qopenglcontext.h:141 #3 0x00000001008c19c0 in QOpenGL2PaintEngineEx::begin(QPaintDevice*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/opengl/qopenglpaintengine.cpp:2074 #4 0x000000010082f1c0 in QPainter::begin(QPaintDevice*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/painting/qpainter.cpp:1808 #5 0x000000010082e8f8 in QPainter::QPainter(QPaintDevice*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/painting/qpainter.cpp:1471 #6 0x000000010082b700 in QPainter::QPainter(QPaintDevice*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/painting/qpainter.cpp:1474 #7 0x00000001005bc308 in QShapedPixmapWindow::render() at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qshapedpixmapdndwindow.cpp:70 #8 0x00000001005bc56c in QShapedPixmapWindow::exposeEvent(QExposeEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qshapedpixmapdndwindow.cpp:103 #9 0x00000001005dad64 in QWindow::event(QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qwindow.cpp:2025 #10 0x0000000100fee8f8 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:1052 #11 0x0000000100fee85c in QCoreApplication::notify(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:997 #12 0x00000001005c2dfc in QGuiApplication::notify(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qguiapplication.cpp:1528 #13 0x0000000100fee6f4 in QCoreApplication::notifyInternal(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:935 #14 0x00000001005cc568 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #15 0x00000001005c6efc in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qguiapplication.cpp:2610 #16 0x00000001005c31fc in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qguiapplication.cpp:1635 #17 0x00000001005b219c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:572 #18 0x00000001005b17b8 in QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:556 #19 0x00000001000c3f24 in -[QUIView sendUpdatedExposeEvent] at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/quiview.mm:183 #20 0x00000001000c3be4 in -[QUIView displayLayer:] at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/quiview.mm:166 #21 0x000000018ad7ad88 in CA::Layer::display() () #22 0x000000018ad5c570 in CA::Layer::display_if_needed(CA::Transaction*) () #23 0x000000018ad5c228 in CA::Layer::layout_and_display_if_needed(CA::Transaction*) () #24 0x000000018ad5ba14 in CA::Context::commit_transaction(CA::Transaction*) () #25 0x000000018ad5b798 in CA::Transaction::commit() () #26 0x000000018ad551c8 in CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) () #27 0x0000000186bbad98 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ () #28 0x0000000186bb7d24 in __CFRunLoopDoObservers () #29 0x0000000186bb8104 in __CFRunLoopRun () #30 0x0000000186ae51f4 in CFRunLoopRunSpecific () #31 0x00000001000d6dbc in QEventDispatcherCoreFoundation::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_cf.mm:275 #32 0x00000001000b11e8 in QIOSEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qioseventdispatcher.mm:479 #33 0x0000000100feb09c in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qeventloop.cpp:128 #34 0x0000000100feb2dc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qeventloop.cpp:204 #35 0x00000001005bccb4 in QBasicDrag::drag(QDrag*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qsimpledrag.cpp:177 #36 0x00000001005e24e8 in QDragManager::drag(QDrag*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qdnd.cpp:135 #37 0x00000001005e176c in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qdrag.cpp:274 #38 0x00000001005e15e8 in QDrag::exec(QFlags<Qt::DropAction>) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qdrag.cpp:230 #39 0x00000001004d2798 in QQuickDragAttachedPrivate::startDrag(QFlags<Qt::DropAction>) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickdrag.cpp:725 #40 0x00000001004d239c in QQuickDragAttached::setActive(bool) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickdrag.cpp:305 #41 0x0000000100596fc0 in QQuickDragAttached::qt_metacall(QMetaObject::Call, int, void**) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/.moc/iphoneos-debug/moc_qquickdrag_p.cpp:753 #42 0x0000000100ff62a0 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qmetaobject.cpp:295 #43 0x0000000100b7a278 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyPrivate::WriteFlag>) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1309 #44 0x0000000100b79c78 in QQmlPropertyPrivate::writeValueProperty(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyPrivate::WriteFlag>) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1238 #45 0x0000000100b7c2c0 in QQmlPropertyPrivate::writeBinding(QObject*, QQmlPropertyData const&, QQmlContextData*, QQmlJavaScriptExpression*, QV4::ValueRef, bool, QFlags<QQmlPropertyPrivate::WriteFlag>) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1571 #46 0x0000000100c23660 in QQmlBinding::update(QFlags<QQmlPropertyPrivate::WriteFlag>) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmlbinding.cpp:223 #47 0x0000000100c72ac4 in QQmlBinding::update() at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/../../include/QtQml/5.4.1/QtQml/private/../../../../../src/qml/qml/qqmlbinding_p.h:97 #48 0x0000000100c23d20 in QQmlBinding::expressionChanged(QQmlJavaScriptExpression*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmlbinding.cpp:285 #49 0x0000000100c18fb8 in QQmlJavaScriptExpressionGuard_callback(QQmlNotifierEndpoint*, void**) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:363 #50 0x0000000100bf5868 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:73 #51 0x0000000100b5349c in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) at /work/build/qt5_workdir/w/s/qtdeclarative/src/qml/qml/qqmlengine.cpp:715 #52 0x00000001010382bc in QMetaObject::activate(QObject*, int, int, void**) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qobject.cpp:3602 #53 0x0000000101038180 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qobject.cpp:3582 #54 0x0000000100595cd8 in QQuickDrag::activeChanged() at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/.moc/iphoneos-debug/moc_qquickdrag_p.cpp:444 #55 0x00000001004d3b98 in QQuickDrag::setActive(bool) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickdrag.cpp:922 #56 0x0000000100472754 in QQuickMouseArea::mouseMoveEvent(QMouseEvent*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickmousearea.cpp:688 #57 0x00000001003a602c in QQuickItem::event(QEvent*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickitem.cpp:7274 #58 0x0000000100fee8f8 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:1052 #59 0x0000000100fee85c in QCoreApplication::notify(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:997 #60 0x00000001005c2dfc in QGuiApplication::notify(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qguiapplication.cpp:1528 #61 0x0000000100fee6f4 in QCoreApplication::notifyInternal(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:935 #62 0x00000001005cb1a8 in QCoreApplication::sendEvent(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #63 0x00000001003b6548 in QQuickWindowPrivate::translateTouchToMouse(QQuickItem*, QTouchEvent*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickwindow.cpp:593 #64 0x00000001003bd724 in QQuickWindowPrivate::deliverMatchingPointsToItem(QQuickItem*, QTouchEvent*, QSet<int>*, QSet<int> const&, QList<QTouchEvent::TouchPoint> const&, QSet<QQuickItem*>*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickwindow.cpp:2048 #65 0x00000001003bd310 in QQuickWindowPrivate::deliverTouchPoints(QQuickItem*, QTouchEvent*, QList<QTouchEvent::TouchPoint> const&, QSet<int>*, QHash<QQuickItem*, QList<QTouchEvent::TouchPoint> >*, QSet<QQuickItem*>*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickwindow.cpp:2006 #66 0x00000001003bcfc8 in QQuickWindowPrivate::deliverTouchPoints(QQuickItem*, QTouchEvent*, QList<QTouchEvent::TouchPoint> const&, QSet<int>*, QHash<QQuickItem*, QList<QTouchEvent::TouchPoint> >*, QSet<QQuickItem*>*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickwindow.cpp:1956 #67 0x00000001003bcb2c in QQuickWindowPrivate::reallyDeliverTouchEvent(QTouchEvent*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickwindow.cpp:1911 #68 0x00000001003bcd8c in QQuickWindowPrivate::flushDelayedTouchEvent() at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/items/qquickwindow.cpp:1860 #69 0x0000000100381244 in QSGThreadedRenderLoop::polishAndSync(QSGThreadedRenderLoop::Window*, bool) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1089 #70 0x0000000100382460 in QSGThreadedRenderLoop::event(QEvent*) at /work/build/qt5_workdir/w/s/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1190 #71 0x0000000100fee8f8 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:1052 #72 0x0000000100fee85c in QCoreApplication::notify(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:997 #73 0x00000001005c2dfc in QGuiApplication::notify(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/kernel/qguiapplication.cpp:1528 #74 0x0000000100fee6f4 in QCoreApplication::notifyInternal(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qcoreapplication.cpp:935 #75 0x00000001005cb1a8 in QCoreApplication::sendEvent(QObject*, QEvent*) at /work/build/qt5_workdir/w/s/qtbase/src/gui/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #76 0x000000010107bd7c in QTimerInfoList::activateTimers() at /work/build/qt5_workdir/w/s/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:635 #77 0x00000001000d7660 in QEventDispatcherCoreFoundation::processTimers(__CFRunLoopTimer*) at /work/build/qt5_workdir/w/s/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_cf.mm:422 #78 0x00000001000d7e14 in ___ZN30QEventDispatcherCoreFoundation12updateTimersEv_block_invoke at /work/build/qt5_workdir/w/s/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_cf.mm:598 #79 0x0000000186bbac20 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ () #80 0x0000000186bba8d0 in __CFRunLoopDoTimer () #81 0x0000000186bb831c in __CFRunLoopRun () #82 0x0000000186ae51f4 in CFRunLoopRunSpecific () #83 0x000000018ff076fc in GSEventRunModal () #84 0x000000018b47610c in UIApplicationMain () #85 0x00000001000b14c8 in main at /work/build/qt5_workdir/w/s/qtbase/src/plugins/platforms/ios/qioseventdispatcher.mm:232 #86 0x000000019825ea08 in start ()