aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Adding tests for DesignerSupportThomas Hartmann2015-07-174-0/+564
| | | | | | | | | | | | | | | Change-Id: I577d0e34ce91a1fa11e3e6757bffc7adaec0f1fb Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
* | | tst_qquickmultipointtoucharea: Do not rely on qCompare(bool, int,...).Friedemann Kleint2015-07-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The overload was added for NokiaX86 and RVCT and is bound for removal. Task-number: QTBUG-47260 Change-Id: I4ead3b03c979a3116278d364ef85fe7d83c5f971 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Remove DesignerSupport from bic/dataThomas Hartmann2015-07-167-31/+0
| | | | | | | | | | | | | | | | | | | | | DesignerSupport was never public API. Change-Id: Ieec6f839173502472496ef827e60a742a0ccbe1a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Adapt to deprecation of QProcess::error(...) signalUlf Hermann2015-07-151-1/+1
| | | | | | | | | | | | | | | Change-Id: Icf708af4ab968c6592f78f90c3758e30dbe9195d Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | | Fix potential use of incorrect bounds in delegate tracking.Michael Brasser2015-07-122-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using GridView.SnapToRow and GridView.ApplyRange with a top margin could lead to the view jumping (rather than smoothly transitioning) when changing the currentIndex. Change-Id: I6936b378220f59e8d416f7531cf8b6906c723cb2 Task-number: QTBUG-45640 Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
* | | Fix tst_qqmldebuglocal on QNX.Rafael Roquetto2015-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | QNX does not place library functions on the default namespace. Either use namespace std or explicitly state the namespace prefix. Change-Id: I1037c16316b9545ea6214289a3af9a549e83613c Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Prevent errors when removing items from Repeater that reference parent.Michael Brasser2015-06-302-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the same ordering as item views and release before unparenting. Change-Id: I0346342cfcaf9385d8385769795dd5ba35fc43aa Task-number: QTBUG-46828 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-06-3016-15/+165
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/qml/qqmlengine.cpp src/quick/items/qquickitemsmodule.cpp tools/qml/main.cpp Change-Id: Ida8daf6b4d7e675385f2f5514c446e52dedaf136
| * | Add lancelot test for Emoji text rendering / color glyphsTor Arne Vestbø2015-06-291-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We test both native text rendering and distance field text rendering (which should switch to native for the emoji glyphs automatically), in various configurations of text color, opacity, and background color. Change-Id: I06178820943cd2a52cf338f7eb5c0fca881cb625 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | Merge remote-tracking branch 'origin/5.5.0' into 5.5Liang Qi2015-06-266-10/+18
| |\ \ | | | | | | | | | | | | Change-Id: I4020a1b3c59dea18faf7cbcbb78b90fcfc3680f0
| | * | Make argument to QQmlDebuggingEnabler::startTcpServer an enumUlf Hermann2015-06-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bool argument is less intuitive as you don't know if e.g. true means "Yes, run the QML" or "Yes, block the QML engine". Task-number: QTBUG-46565 Change-Id: I6d268e1354cebeb794b065e118bc0c353d7dd59a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * | Add left, right, top and bottom properties to basic QML rect type.Mitch Curtis2015-06-035-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-45528 Task-number: QTBUG-45530 Change-Id: I83c4056b4bde37ef2dc4424ffddd823c1654d92e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | | Correctly initialize ListView section attached properties.Martin Jones2015-06-252-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During item insertion, indexes of items in the visibleItems list were not adjusted before new items were created. Section initialization was broken during insertion because section calculation relies on the indexes of the items in the visibleItems list. The incorrect section properties caused spurious section header creation, and layout issues. Apply the index offset before creating the new items. This mirrors what GridView already does. Change-Id: I549a81825cf0e979bc5830840bf6cb75c7a82cac Task-number: QTBUG-43873 Reviewed-by: Bea Lam <bea.lam@jollamobile.com>
| * | | QSGDefaultRectangleNode: Fix gradient position calculationsSanttu Lakkala2015-06-172-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the gradient position calculations to consider full border, not just half of it, because the border is fully drawn inside the rectangle, not half outside, half inside. Task-number: QTBUG-36059 Change-Id: Ie7dec94d9f6e03ae07c612c6e3b1950781973dc7 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | | Improve qml error message "invalid alias location"Aleix Pol2015-06-105-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specify we're talking about the target itself rather than talking location, which I always doubt about whether it's the location within the file. Also specify the offending property, so we get a clue about what to look into. [ChangeLog][QtQml] Improve "invalid alias location" error message by specifying what's the offending property and by calling it "invalid alias target location" Change-Id: I7a9390089ee8986872c119df44d8036bf267ab99 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Fixed a QQuickListView crashLiang Qi2015-06-291-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an ObjectModel item is removed and destroyed. Task-number: QTBUG-46798 Change-Id: Ia41dd359d9f3ec5b7af85498dc798f7ab55dca3c Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | | | Add option to use a local socket for QML debuggingUlf Hermann2015-06-266-8/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using a TCP debug server comes with a number of drawbacks. It has a larger overhead than other connection types, the application has to be able to access the network and there has to be an open port we can find somehow. Change-Id: Ia7fb24006b89419988c6504797303d84c3aa1bbc Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Make QQmlDebugService ctor protectedUlf Hermann2015-06-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | No one needs a bare debug service. Change-Id: I45a2f2437f51197707af2743faad1845b8007053 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Fix disabling of text input and pixmap cache tests on QT_NO_LIBRARYUlf Hermann2015-06-263-28/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way it works with the supported -no-feature-library flag to configure, rather than the unsupportd -D QT_NO_LIBRARY. Also, the the parts of the tests that can be executed stay active now. Change-Id: I082b1c84f148a10eaaf4443c931c395bdd1dc4c3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Clear stringCache explicitly instead of asserting its emptiness.Dmitry Volosnykh2015-06-255-0/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This assumption does not hold when PathView's path.pathElements list is updated with new contents at runtime. Task-number: QTBUG-46255 Change-Id: I6b0d7ee8ee2d67ca0138eacdf0ad221338f788e4 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | | | QJSValue: Remove no-longer-existent v8 from benchmark.Robin Burchell2015-06-241-77/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie83a4ec1d3eb20297bbb5a4a6a400091d9568a1f Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* | | | Force completion of asynchronously loaded components.Robert Griebl2015-06-231-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick][QQmlComponent] Synchronously complete the loading of a Asynchronous QQmlComponent, if a PreferSynchronous QQmlComponent is created for the same url (given that this url does support synchronous loading). Change-Id: I3291d0569a69bac2aeb4815f1068a426ef2707ef Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | ListView/GridView contentHeight should include delayRemove-d itemsMatt Vogt2015-06-234-0/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When one or more items are in delayRemove state, the ListView's contentHeight property should include their height. This previously failed if the delayRemove items were at the end of the visibleItems list. Also applies to GridView. Change-Id: Id839e850367a3503123e8ac81dac6ebdccef1a1f Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
* | | | Fix some function signatures and remove an unused functionLars Knoll2015-06-181-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The returned value of these methods is never used, so save some cycles and return void. Change-Id: I7e2430130853af12de9685c4383197c80c151175 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Get rid of QQmlBoundSignalExpression::ExtraDataLars Knoll2015-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The extra data was only used to delay initialization of the required FunctionObject to the first time evaluate got called. In addition, the constructor using ExtraData was only ever called from the debugger. In that case performance can't be critical, so we can just as well do function object creation at construction time. This saves one pointer in the object. Change-Id: I46ce9aa325f0fa95b5b0e374e9c07d673e454dd4 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Verify that debug client exists before interacting with it.Ulf Hermann2015-06-162-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want the tests to crash if the connection cannot be established. Change-Id: Iebd6d008f6a043b229738d607068ea822fcded9d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | | | Disable pixmap cache and text input tests if QT_NO_LIBRARYUlf Hermann2015-06-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | They depend on loading plugins. Change-Id: Iee2ec4306a9ee2eae6447ee28552c010e4d31b8c Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | | Don't wait forever in QQmlDebugClient testUlf Hermann2015-06-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test is intended to wait for 5 seconds but in fact it waited for 5 * 30.1 seconds. Change-Id: Id2af7513fc7af6ab5e67d04d802a24744483f5e1 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | | | Initialize members of tst_QQmlEngineDebugServiceUlf Hermann2015-06-151-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Id9fe7d2bd630bcfe79634b3a4465ec7ad764d18c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | | | QuickTest: Enable use of BLACKLIST fileCaroline Chao2015-06-152-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So qml test functions can be blacklisted. Qml test functions have the following format: TestCaseName::functionName. Change-Id: Ifcaa8d77d8f0956472aa568dc6dbfcbdde4e5063 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | | Add QQuickWindow::TextureIsOpaque as option to createTextureFromImage.Gunnar Sletta2015-06-151-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Opaque textures can be a lot faster, so give this option without forcing the user to reimplement her/his own QSGTexture class. The old behavior was that createTextureFromImage() disregarded TextureHasAlphaChannel and looked solely at the image's format. To keep this behavior intact, we introduce a second opt-in flag to switch textures from auto-detect to false, namely TextureIsOpaque. [ChangeLog][QtQuick][QQuickWindow] Add TextureIsOpaque option to createTextureFromImage() Change-Id: I248db4bc5f7920864b6aa8d831ce24d23ad370ef Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | | Get rid of TypedValueLars Knoll2015-06-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that Managed inherits from Value, this class doesn't make sense anymore. Change-Id: I04e10f53ef305658d902bd0f1c7d7280068c0dc3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Fix up tst_qquickbehaviors.Friedemann Kleint2015-06-101-122/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use QVERIFY2() instead of QVERIFY() in flaky currentValue(). - Use QScopedPointer consistently, remove delete statements. Change-Id: I8b70d206d26219dba31b0d07216bcb18ff665632 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Make bindings refcountedLars Knoll2015-06-102-43/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refcounting our bindings greatly simplifies our memory management of the objects and ensures we safely clean them all up. In addition, it allows us to remove the m_mePtr and weak reference handling from QQmlAbstractBinding as we can safely handle this through the same mechanism. Change-Id: If23ebc8be276096146952b0008b62018f5d57faf Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | ObjectModel: add API for dynamic changesJ-P Nurmi2015-06-108-1/+420
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the ListModel API: - object get(index) - append(object) - insert(int index, object) - move(int from, int to, int n) - remove(int index, int n) [ChangeLog][QtQml][ObjectModel] Added get(), append(), insert(), move() and remove() methods. Change-Id: I592e55b7c4c933a1100191bf5a9405944b347172 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | | | Remove QSGSharedDistanceFieldGlyphCache.Robin Burchell2015-06-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No known users of this interface exist, and not having it helps to make things less complicated. Change-Id: I3d749cfbde9e84e1c7b8dc5cbd952c5c51d347ee Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | | Mark tests as unstable/flakeySimon Hausmann2015-06-082-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It failed for example in http://testresults.qt.io/logs/qt/qtdeclarative/baa4a85dbdc4de7d2b4b02b829729dfb46e51305/windows8x86_64windows8x86_64msvc2012developer-build_release_qtnamespace/5aeb8542aafa40f84e974d7ee6346df2b97d1725/testlog.txt.gz while trying to integrate a 100% unrelated doc change. Change-Id: I6b0b8e76d6cdc72e1343ac42a8277b22e3759c50 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Fix users of QTextLayout::additionalFormats to use the new APIMarc Mutz2015-06-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTextLayout::additionalFormats setters and getters using QList<FormatRange> have been deprecated; port to the QVector versions. Change-Id: I6702430c09b30aa033fe4e34f39a9aa3350e471b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | | | Blacklist unstable testSimon Hausmann2015-06-051-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I1631d38f8c94e8d663df057f2c417c7ef2045949 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Blacklist unstable tests for nowSimon Hausmann2015-06-055-0/+12
| | | | | | | | | | | | | | | | | | | | Change-Id: Ia29b103c33afd9aafe9ee36ee4447fab17fe00c7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Make QQuickGridView test independent of mouse speedUlf Hermann2015-06-051-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to prevent it from accidentally hitting the end of the grid prematurely we insert another mouse click. Change-Id: I3f1ecc65af4b60aebf383192cde9a3a6fdeb5c8a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Decouple flickable stopAtBounds test from mouse event timingUlf Hermann2015-06-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't really want to know if the flickable is still flicking at the end of the flick() call, but rather if it has been flicking at some point. Change-Id: Ib6c89023042b2a45e66f1825a699bb47dc6e13ee Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Fix flickable autotestUlf Hermann2015-06-053-48/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Make sure we always wait for window activation, not only exposal. * When clicking or releasing, first move the mouse to the right place. * In returnToBounds() show() the window before we rely on its event loop. * In rebound() reduce the delays as mouse events get delivered earlier now and the movement might stop and restart if we wait for too long between subsequent mouse moves. Most of these problems have been exposed by commit 66050f2ac875d451bec31e0d8ff507795b5b18d6 in qtbase. Change-Id: I5a3bc1e4ba92362d69180c8fde33eca47b4b9375 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Move the mouse to the right place before simulating a clickUlf Hermann2015-06-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the mouse event can be split in two and only a mouse move will be immediately delivered. This problem was exposed by commit 66050f2ac875d451bec31e0d8ff507795b5b18d6 in qtbase. Change-Id: I9d458bd446c754f566d1de412eb90a43f0686ab9 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Wait for window activation, not for exposal in key press testUlf Hermann2015-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous version only worked when simulated input events were queued and thus incidentally delivered after the window activation that follows the exposal. 66050f2ac875d451bec31e0d8ff507795b5b18d6 in qtbase made event delivery synchronous for simulated input events. Change-Id: Ieea3d1360b32f3466059a2ffe570d6dc633f81dc Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Allow for some delay on starting transitions in flickable testUlf Hermann2015-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I218ea874def6060e147cb05eafeb857a9e66eb44 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-0419-84/+498
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4engine_p.h src/quick/items/qquickitemsmodule.cpp src/quick/items/qquicktext.cpp src/quick/util/qquickpixmapcache.cpp tests/auto/quick/qquickwindow/tst_qquickwindow.cpp Change-Id: I90ecaad6a4bfaa4f36149a7463f4d7141f4a516a
| * | | tst_qquickwindow: Prospective fix for instability of cursor test.Friedemann Kleint2015-06-031-45/+95
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FAIL! : tst_qquickwindow::cursor() Compared values are not the same Loc: [tst_qquickwindow.cpp(1444)] Check that no windows are leaked in slot cleanup and fix all leaking tests. Position the window and enlarge it to fix the warning: WARNING: tst_qquickwindow::cursor() Mouse event occurs outside of target window. Add window titles to tests. Replace QVERIFY(a == b) by QCOMPARE(a, b). Change-Id: Ida892e8a8d7d5f40d4f50787608940dbffc7a29d Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com>
| * | Makes it possible to extract all data from a QML DropAreaAleix Pol2015-05-231-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's many types that aren't being covered by DropArea API, such as images. getDataAsString is not acceptable, since fromUtf8 chokes on reading non-utf8. This patch introduces getDataAsArrayBuffer method that won't try to convert the data into a QString and simply pass a QV4::ArrayBuffer, that internally keeps a QByteArray. Change-Id: I65411b3d365ee6c5e13effd9167156771ee08a05 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | qquickwindow: ensure we delete the correct delayed touch event after deliveryRichard Moe Gustavsen2015-05-221-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delivering a delayed touch event from QQuickWindow can cause the event loop to recurse (e.g if it starts a drag'n'drop). This again can cause new touch events to be delivered to QQuickWindow, and new delayed touch events to be stored. This results in the following: (1) Receive new touch press event in QQuickWindow, and set delayedTouch to be a copy of it (2) Deliver delayedTouch to items. This can cause an event loop recursion. (3) While inside the recursion, QQuickWindow receives another new touch press event. We then redeliver and delete the current delayedTouch event created in (1), and set delayedTouch to be a copy of the new event. (4) Later we return back from (2), and try to access delayedTouch (or actually a reference to the touchpoints inside it, qquickwindow.cpp:1958). Since the event was deleted in (3), we have a crash. This patch will ensure that we set delayedTouch to 0 before delivering it (so it cannot be redelivered), and that we safely delete it afterwards when it goes out of scope. By converting delayedTouch to a QScopedPointer we also ensure that the event is not leaked upon destruction. Task-number: QTBUG-45877 Change-Id: Ic372a39a0eb127abfd12cec2d51b3743ad83194d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>