aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Do not write JSC files when debuggingErik Verbruggen2018-02-271-1/+1
| | | | | | | | | These will include Debug interpreter instructions, which wreck havoc when no debugger is attached. Task-number: QTBUG-66593 Change-Id: I0692207e51df6d52d0616f37a06ade76b6b2d54a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix memory leak in compressed texture file readingEirik Aavitsland2018-02-273-0/+7
| | | | | | | The format handler object would never be deleted. Change-Id: I44e0740f8ab0404ebb2951865bfedc5a4c8227f3 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* use the override keyword consistently and correctly (clang-tidy)Shawn Rutledge2018-02-2787-272/+272
| | | | | Change-Id: If9e28d143f8cba3df3c757476b4f2265e2eb8b2a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* AnimatedSprite: set implicit size based on implicit frame sizeMitch Curtis2018-02-263-3/+52
| | | | | | | | | | | | | | By doing so, users no longer need to set an implicit or explicit size for AnimatedSprite. [ChangeLog][QtQuick][AnimatedSprite] AnimatedSprite's implicitWidth and implicitHeight are now based on frameWidth and frameHeight, respectively. This means it is no longer necessary to explicitly size AnimatedSprite. Task-number: QTBUG-36341 Change-Id: I3eb87e9b1c6bb93b3c667123c345341f34e2eee8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* tst_qquickanimatedsprite: use QScopedPointerMitch Curtis2018-02-261-17/+10
| | | | | Change-Id: Ib0e0cccef197fb8c5fa163c7a57f096e8fcb8c25 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix QQmlEngine::retranslate() with PropertyChangesSimon Hausmann2018-02-264-11/+36
| | | | | | | | | When changing the language, we need to re-apply the state of items and re-run the translations if present. Task-number: QTBUG-66541 Change-Id: I83a542af033990ef9a0f92801c5f52d3a5ec722c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove unused testing codeSimon Hausmann2018-02-261-2/+0
| | | | | | | | | The helper function added in commit 2659c308792967322564b5088e0e21bb371e0283 is not needed - it was added by accident. Change-Id: I29c3cd31f726a46a24a056b27173e96a112eb8a6 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* init variables where they are declared when possible (clang-tidy)Shawn Rutledge2018-02-2689-712/+481
| | | | | | | | clang-tidy -p compile_commands.json $file -checks='-*,modernize-use-default-member-init,readability-redundant-member-init' -config='{CheckOptions: [{key: modernize-use-default-member-init.UseAssignment, value: "1"}]}' -header-filter='qtdeclarative' -fix Change-Id: I705f3235ff129ba68b0d8dad54a083e29fcead5f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Sprite, SpriteAnimation: document that frameDuration is in millisecondsMitch Curtis2018-02-262-2/+2
| | | | | Change-Id: I849661f6bed1c5d15edb79ac05e0f74212ce1e02 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-26662-6268/+6268
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tests: Wrap qWaitForWindow{Active,Exposed} in QVERIFYv5.11.0-beta1Kari Oikarinen2018-02-2318-164/+164
| | | | | | | | | | | The functions are marked Q_REQUIRED_RESULT, so they give compilation warnings when not handling the bool return value. Failing the test early at an unexpected event is also better behavior anyway. Task-number: QTBUG-66559 Change-Id: I6c4db29379ec01528208c3e4ee54346b4230616c Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Blacklist a flaky event propagation test on ubuntuVille Voutilainen2018-02-231-0/+3
| | | | | | | | | | | See also QTBUG-53916 Grafana: https://testresults.qt.io/grafana/dashboard/db/coin-single-test-details?orgId=1&var-project=qt%2Fqtdeclarative&var-testcase=tests%2Fauto%2Fquick%2Fqquickwindow&var-testfunction=touchEvent_propagation&var-branch=5.10&var-branch=5.11&var-branch=5.9&var-branch=dev&var-inter=24h Task-number: QTBUG-66216 Change-Id: If59784e789a30ce92d2fab486c86ee56e07ada0c Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* doc: Correct mostly linking errorsMartin Smith2018-02-2310-80/+130
| | | | | | | | | This update corrects many qdoc warnings, mostly of the "Can't link to..." variety, but there were also a few qdoc comments added. As of this update, the qdoc warning count is 46 in QtDeclarative. Change-Id: Icf2d34c7ce7010ebfd9b474feacfe8af42f3fd5f Reviewed-by: Martin Smith <martin.smith@qt.io>
* doc: Correct several QML property linksMartin Smith2018-02-231-24/+29
| | | | | | | | | | | | This update corrects several QML property links. Currently, the best way to link to a QML property is like this: \l {QtQuick::EventPoint::velocity} {velocity} In other words, use the full path to the property as the link, using '::' as the separator, and use the property name as the label. Enclose both the link and the label in curly braces. Change-Id: I19231403b82d41ad89096dd27787eff57c91b8ae Reviewed-by: Martin Smith <martin.smith@qt.io>
* doc: QtQuick must see the index file for QtSqlMartin Smith2018-02-231-1/+1
| | | | | | | The qdocconffile for QtQuick is updated to include the dependency on QtSql. Change-Id: I9d0315e4d52958bd213afa611c2898b386c4c728 Reviewed-by: Martin Smith <martin.smith@qt.io>
* doc: Fix remaining "Can't tie this..." errorsMartin Smith2018-02-237-21/+18
| | | | | | | | This update mostly removes qdoc comment markers from comments that should not have been qdoc comments. Change-Id: I8ccaa7fd4ae610371e25066e048fcba6cfba8038 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Fix tst_qquickwindow::unloadSubWindowKari Oikarinen2018-02-231-2/+4
| | | | | | | | | | | The transient window was never shown. The window was never visible, but the test passed anyway because the return value of qWaitForWindowExposed() was not checked. Change-Id: If1c9212d0f0bd2047bfa2ca24159f27f6186d191 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Make sure we can call properties of constantsErik Verbruggen2018-02-231-1/+12
| | | | | | | | | This might not be the most useful thing to have, but it's part of JS, so we better handle it. Task-number: QTBUG-66027 Change-Id: Ib40c90515a3ffd1d065d962d6c79a5e3960e2703 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Disallow the use of id properties with value type group propertiesSimon Hausmann2018-02-224-0/+12
| | | | | | | | | | | While it is valid to assign an id to group properties that are QObjects, it is not possible to support this with group properties that are value types, as we do not have QObject instances and id references are limited to those. Change-Id: I7601d0fe00d1261dd711e34f45550db797773f9a Task-number: QTBUG-51525 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Fix ListModel.get(idx) == ListModel.get(idx)Simon Hausmann2018-02-223-9/+17
| | | | | | | | | | | | | | | | | This is a regression introduced with commit 4876ea6a18ccdfd72014582aa5d50ab9f6b6ec9e. Where we previously always returned the same JS object, we would afterwards return a new JS object for every invocation, which breaks reference comparison. As we store the JS wrapper for the list element in the QQmlData->jsWrapper we can avoid repeated allocations. In order for that wrapper to keep working after modifications (insertion, etc.) to the list model, we have to replace the static element index with a reference to the node model meta-object, which also has an element index that however is kept up-to-date by the list model itself. Change-Id: I4368de6b6d86687fe96fbf73bd60b80b69d7b058 Task-number: QTBUG-52017 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Allow setting values in value type group properties in "on" assignmentsSimon Hausmann2018-02-224-1/+37
| | | | | | | | | | | | | Assigning to a group property inside a property value source or interceptor as part of an "on assignment" is perfectly valid. That is because while "color" is a value type property, the on assignment means we're actually setting easing.type (in the example and test) on the property value source, not the color, and that one is a QObject. The same goes for interceptors. Change-Id: I505a658977a578894d6dfb00bf5c65b41e42b12f Task-number: QTBUG-56600 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Remove duplicated project optionsJesus Fernandez2018-02-221-2/+0
| | | | | Change-Id: I8f545c702b40ada37ce77716b84809b5d93c1146 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix flakiness of tst_QQuickGridView::currentIndexKari Oikarinen2018-02-221-1/+2
| | | | | | | | | | | Highlight item is moved with an animation, so the test may need to wait for the animation to finish until the y coordinates of the current item and the highlight item match. Task-number: QTBUG-66549 Change-Id: Id8e329c4a6647ee946da702b489c6f7ea0b7260f Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* WinRT: Do not call canAllocateExecutableMemory from static initializerOliver Wolff2018-02-222-7/+7
| | | | | | | | | | | | | | | | | | | When the code generation capability is not set, the first call of canAllocateExecutableMemory will cause a warning about suboptimal performance. The qWarning code checks, which thread caused the message and QThread::current sets QCoreApplicationPrivate;s theMainThread when it is called for the first time on Windows. If we call that function inside a static initializer, it will be called before QCoreApplication is created and thus set the main thread to the one that called the function. This will cause a warning about QApplication not being created inside the main() thread, but more importantly, delivering of events will not work in WinRT applications afterwards. Task-number: QTBUG-66418 Change-Id: I3b6bf804983644b5ae5fe2288a587dc95fab2c8b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move the QML_COMPILE_HASH macro definition from the command-lineThiago Macieira2018-02-215-14/+30
| | | | | | | | | | | | If it's in the command-line, it is added to the precompiled header, which won't be regenerated if the macro changed. Instead, let's create a header that can be #included only in the file it needs to. Since qmldevtools compiles the file that has this new #include, we need to ensure it was created before the module is compiled. Change-Id: I940917d6763842499b18fffd1513b9c64cd98387 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix draghandler to respect axis constraintsJan Arve Sæther2018-02-213-36/+148
| | | | | | | | | | | | | | | | | | | | | | | ..while its (ancestor) coordinate system has changed during the drag. For example, ensure that a DragHandler-based Slider keeps its knob centered. If the Slider is used on a Flickable which you are flicking with a second finger, then the coordinate system is changing underneath the Slider. The problem was that DragHandler stored the initial drag position of the target when the target item was pressed, and used that throughout the whole drag operation. Unfortunately if the target item was inside a Flickable that got flicked during a drag operation, that initial position was not updated (and thus, incorrect). Instead of storing the initial target position in scene coordinates, we now store the position that got pressed in local target coordinates, and ensure that in any further updates the touchpoint have the same local position (by moving the target). Task-number: QTBUG-64852 Change-Id: I25012d34d88f45c7eb9c711db0037d530cf10854 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix build with GCC 7: possibly uninitialized array warningThiago Macieira2018-02-211-1/+1
| | | | | | | qv4bytecodegenerator.cpp:99:19: error: ‘instructionsAsInts[3]’ may be used uninitialized in this function [-Werror=maybe-uninitialized] Change-Id: I940917d6763842499b18fffd1513ff143fc502bb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QuickTest: declare a missing QtQuick.Window dependencyJ-P Nurmi2018-02-211-0/+1
| | | | | | | | | Since fdb8226, TestCase.qml imports QtQuick.Window 2.0. The dependency must be explicitly declared in static builds. Change-Id: Ia7d3d19573e2c5b49a21d7b833830d29b5ea4f55 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Image: respect aspect ratio of an SVG when width or height is zeroAndy Shaw2018-02-212-1/+6
| | | | | | | | This amends f42f1366dcd4b070c69c9e7fe42a704ef23da14d Task-number: QTBUG-65789 Change-Id: I1db05259f0aeb3310bbaf5ea03be52cbd243d115 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* qmlcachegen: fix error messages for js filesMitch Curtis2018-02-201-1/+1
| | | | | Change-Id: I3c9e33f882358fd4cb8b1b8764bf083ddbd792b1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* test_defaultPropertyAliasCrash(): fix anchor warningsMitch Curtis2018-02-201-1/+0
| | | | | | | | The item was trying to center itself within a layout for some reason. Change-Id: I7a4bdf0fdce91cd1dad6ec9c5ae27a5fbe07408f Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Layout: improve warning message when anchors are detectedMitch Curtis2018-02-202-2/+3
| | | | | | | | | | - Use the more explicit term "manage" to make it clear that the warning only applies to items that are direct children of a layout type. - Instruct users towards the proper way to position items within a layout: Layout.alignment. Change-Id: Id13af95457a689e41aeaead1f9a0f958f095fca9 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Correctly set this object when calling scope/context functionsErik Verbruggen2018-02-2010-1/+133
| | | | | | | | | | | | | When a function is called that is in a QML scope or a QML context, set the 'this' object to the QML scope. This is done by introducing two new interpreter instructions, which get the context passed in. Note: this patch is 5.11 specific. 5.9 had a similair issue, but the implementation is quite different, so that was fixed separately. Task-number: QTBUG-66432 Change-Id: Ie43150cdd26360025895df28d31264985abf1c15 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Only warn about actual *anchors* in layout childrenJan Arve Sæther2018-02-194-1/+77
| | | | | | | | | | | Do not warn if they don't actually pose a problem, such as having just anchors.margins: 42 in a layout child item (as demonstrated by the test) Change-Id: I01e4515e91d7d0df3ae6bf9061cebe5c51802998 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Software render: Fix warnings floodFriedemann Kleint2018-02-191-0/+1
| | | | | | | | | | Add missing QPainter::end(), fixing: QBackingStore::endPaint() called with active painter on backingstore paint device Task-number: QTBUG-66452 Change-Id: Ia00e61953528b15015b3e41ba1868e670818cf14 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add test for detecting invalid mouse button cancel eventSami Nurmenniemi2018-02-193-0/+116
| | | | | | | | | Commit e0c30279ec1fad88346ed3fb483bc3c672fdd01b has already fixed the issue tested by this change. Task-number: QTBUG-60123 Change-Id: I0e378a7b1586f4e6c43246fca9d12719f62b3275 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Finally really remove QT_NO_QML_DEBUGGERUlf Hermann2018-02-193-4/+3
| | | | | | | | | | We don't want the JIT to ignore the debug instructions, and in qsgatlastexture.cpp qqmlglobal_p.h which defines DEFINE_BOOL_CONFIG_OPTION was implicitly included via qml_debug. Change-Id: I82329b9422f4938f097263517afadebab33a0d0c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Nodir Temirkhodjaev <nodir.temir@gmail.com>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-1812-10/+147
|\ | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp Change-Id: I7feb9772fc35066f56b7c073482b53ca8c86c70b
| * QQuickItemView::currentItemChanged called upon currentItem destructionAleix Pol2018-02-131-0/+7
| | | | | | | | | | | | | | | | | | There were some cases where the signal wasn't emitted and we ended up with events being delivered to objects that didn't exist anymore. Task-number: QTBUG-65881 Change-Id: I847669a978e82a0332907b029a8295bb993d2850 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * Revert "Restore a temporary QQmlInstanceModel::object() overload"J-P Nurmi2018-02-121-1/+0
| | | | | | | | | | | | | | | | | | This reverts commit 823428d994b0ec0f6b85288d74554660a51b2406. No more needed after qt3d commit 78f77f80057b1e77c3f47d52de3e0b3f0c5d8d6e that took the new API into use. Change-Id: I4acb707cf363a625ae8e90c4560a0d5140cc4011 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Fix memory leak with JS importsSimon Hausmann2018-02-096-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Strictly speaking this is a regression introduced with commit e22b624d9ab1f36021adb9cdbfa9b37054282bb8, making the QQmlContextData objects reference counted, especially from the V4 QML context wrapper objects. That change (correct as it is) introduced an accidental circular dependency in the simple scenario of importing a .js file in a .qml file: Each time the type in the .qml file is instantiated, we create a dedicated QQmlContextData for the .js file. If the .js file has no imports itself, that new context will get the same ctx->importedScripts JS array as the QML context of the .qml file. That is a strong reference via QV4::PersistentValue. That array in turn contains the QV4::QmlContextWrapper that belongs to the imported script, which in turn holds a strong reference (via refcount) to the script's context. This patch breaks the circular reference when we perform context invalidation, as the least intrusive measure. For the auto-test to work, we must also clear the qmlContext persistent of the QV4::Script that's used to evaluate the .js file. In subsequent imports that persistent will be initialized to new values, so it will only hold a strong reference to the last import, but strictly speaking that is still a leak - hence also part of this fix. Change-Id: I3e543c946e5e683425072dc3df7e49ca0e0c0215 Task-number: QTBUG-66189 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * tst_qquickflickable: fix compiler warningMitch Curtis2018-02-081-1/+1
| | | | | | | | | | | | | | | | | | tst_qquickflickable.cpp:822:47: warning: ignoring return value of ‘bool QTest::qWaitForWindowActive(QWindow*, int)’, declared with attribute warn_unused_result [-Wunused-result] Change-Id: I39be58a1032e36f650ce2e008026faaf368cca3f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Document how to work with arrays using QJSValueMitch Curtis2018-02-081-5/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Mention (in the detailed description) that Array is indeed supported. - Provide examples for getting and setting individual array elements, and how to read the length of the array. - Properly document the property() and setProperty() overloads that take an index. - Link to the overloads where it makes sense. These changes make the intended workflow for using arrays much more obvious. Change-Id: I4657a7b1e2b4c2977120ee8e345ee9ae7d2bbc2d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * Bump versionOswald Buddenhagen2018-02-071-1/+1
| | | | | | | | Change-Id: I4d936d9900789935fe090ca358e0431343b3aaef
| * Fix performance regressionJesus Fernandez2018-02-072-2/+9
| | | | | | | | | | | | | | | | | | | | | | Reverts 2c2e7f27426cb4381f2dcaa36affe55719619753. WebGL does not support a shared index and vertex buffer. Due to a performance regression, this patch is reverted. Task-number: QTBUG-66191 Change-Id: I296d2a6c1c7b5fa66532bd7e106f5360d9d2403a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Fix "Expression depends on non-NOTIFYable properties" regressionMitch Curtis2018-02-175-17/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONSTANT properties are by nature non-NOTIFYable. The issue behind the regression is caused by the fact that we were capturing a property regardless of whether or not it was const. There were two states that captureRequired was expressing: true: We're reading the property of a QObject, and we're not quite sure where the QObject comes from or what it is. So, when reading that property at run-time, make sure that we capture where we read that property so that if it changes we can re-evaluate the entire expression. false: We're reading the property of a QObject, and we know that it's the scope object or context object, which we know very well. Instead of registering a property capture every time, we can do that ahead of time and then register all those captures in one shot in registerQmlDependencies(). There is a third state that is only relevant when captureRequired is false: We're reading a property from the scope or context object, but it's a CONSTANT property, so we don't need to register a dependency at all. This patch adds replaces captureRequired with the PropertyCapturePolicy enum, which accounts for the third state and, as a bonus, makes the code easier to understand. Task-number: QTBUG-66361 Change-Id: I6cef1deb76538fbdacf1324b4467403dd40dd7de Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add missing Q_FALLTRHOUGH()Thiago Macieira2018-02-161-0/+2
| | | | | | | | | | Change-Id: I940917d6763842499b18fffd1513b8c1308ce873 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.10.1' into 5.11" into ↵Qt Forward Merge Bot2018-02-1595-451/+4928
|\ \ | | | | | | | | | refs/staging/5.11
| * \ Merge remote-tracking branch 'origin/5.10.1' into 5.11Qt Forward Merge Bot2018-02-153-3/+127
| |\ \ | | | | | | | | | | | | Change-Id: I64bf7d183bbd8af7282270097809d14a54ba0188
| | * | skip filtering during post-delivery if there are no PointerHandlersv5.10.1Shawn Rutledge2018-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QQuickWindowPrivate::deliverMouseEvent() we call childMouseEventFilter on parents of items which have pointer handlers before we give the pointer handlers one last chance to handle un-handled events. This last-chance delivery is a new feature in 5.10. (Maybe letting filtering happen in that scenario is dubious anyway. The reason it was done in 7042cfd9cb1b552c5fd753b6912439ce604eb1a0 was to allow Flickable to steal the grab from a passively-grabbing TapHandler.) But certainly if there aren't any pointer handlers as children of an item, it doesn't make sense to let the item's ancestors do filtering because in 5.9 and previous versions they would not have gotten that chance. Task-number: QTBUG-65651 Change-Id: I7a14a1f6cac03bf9beb4fa9ab47193df1bd773a8 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>