aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-beta1Liang Qi2017-10-0414-53/+76
|\ | | | | | | Change-Id: I75b0099b2b9ebb5cfb6f07b43b90b598743ae033
| * Doc: let TextEdit grow vertically in ensureVisible() snippetMitch Curtis2017-10-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binding its height to the height of the flickable means that it's only as tall as the flickable, and hence cannot be interacted with beyond a certain point. The flickable was using the correct height (paintedHeight), which meant that the entire text could be scrolled, just not interacted with. Let it assume its implicitHeight so that it can grow freely. Task-number: QTBUG-48174 Change-Id: I853d0f505466e26e3100e79ff70210fcfa247f0f Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Docs: remove empty table headersFrederik Schwarzer2017-10-031-2/+0
| | | | | | | | | | Change-Id: I0693057b57a311b598186a72738021c7d104c41f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Document the default value of property asynchronousZhang Xingtao2017-09-271-0/+1
| | | | | | | | | | | | Change-Id: I9a01b3f2da0399c84fc7df842f810ae760fd215d Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * ObjectModel: provide unique move IDsJ-P Nurmi2017-09-262-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | QQuickItemViewPrivate::removeItem() uses a QHash to store items that were removed due to a move. If the move IDs are not unique, multiple buffered moves end up overriding each other. This results to leaked items that are never released. Task-number: QTBUG-62607 Change-Id: I7e7e7fcd6b1b0aa50ed55643ba5674e98536f89f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * Fix no-opengl buildsAllan Sandfeld Jensen2017-09-251-1/+1
| | | | | | | | | | | | | | The qquickwidgets examples uses OpenGL directly Change-Id: I1cc8cfbcf249abc98473287a9d499032232828c7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix behaviors not working when sub-types declare propertiesSimon Hausmann2017-09-224-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 81867dfbf9c16d4300727a08eed9b5c6c979e0ba we have an optimization in place to avoid the virtual meta-call when writing properties that cannot be intercepted. Unfortunately that check did not take parent VME meta-objects into account, which triggered the bug. Test case by Harald Hvaal <hhvaal@cisco.com> Task-number: QTBUG-63365 Change-Id: I66cb2967da2c09ca5e38cebd9db2ee6e3ee78f5f Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| * Fix use-after-free when clear()ing all elements from a ListModelErik Verbruggen2017-09-223-41/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | Same problem as the problem with remove(), so now clear will call into remove to do the correct thing. See also e29ffa179e9920443a23e2fcb3f0694df32e8a68. [ChangeLog][Qt][Qml] Fix possible use-after-free when clearing all items from a ListModel through JavaScript. Change-Id: Ib9389d80798c4333425b4a49930b1670307d06ac Task-number: QTBUG-59256 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Fix uninitialized member QSGClipNode::m_is_rectangularJüri Valdmann2017-09-201-0/+3
| | | | | | | | | | | | | | Task-number: QTBUG-62112 Change-Id: I8943baf6bd5261b91d8960bb227992b56b720554 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Doc: add documentation for QJSValueListSamuel Gaist2017-09-301-0/+7
| | | | | | | | | | | | | | This patch adds the missing documentation of the QJSValueList typedef. Change-Id: I8eafbc8a4a5d2fa965595085a3dc240997b13292 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | Doc: fix QJSEngine code snippetSamuel Gaist2017-09-301-1/+1
| | | | | | | | | | | | | | | | The code snippet showing how to use QJSValue::call was wrong. This patch corrects that. Change-Id: Ib4c6479f3ef63f4f95af845d0af228d3c71f0731 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | docs: EventPoint::timeHeld is a real value, in secondsShawn Rutledge2017-09-291-1/+1
| | | | | | | | | | Change-Id: I6f581eec8df784878041ccdfc25dd3ebd1a02d70 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QQuickWindowPrivate::deliverKeyEvent: stop using QQW::sendEventShawn Rutledge2017-09-291-4/+9
| | | | | | | | | | | | | | | | To uphold the deprecation, we have to stop using it ourselves. Fixes the warning. Change-Id: Ia9ba24086fbc3a336a950b63ea2745a26b4f2866 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | improve documentation of DragHandlerShawn Rutledge2017-09-294-2/+210
| | | | | | | | | | Change-Id: Ifde67ba567b447da948b79d32676458fd0628ec5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | PinchHandler: add native pinch gesture supportShawn Rutledge2017-09-297-46/+284
| | | | | | | | | | | | | | | | | | macOS generates QNativeGestureEvents for 2-finger trackpad zoom and rotation gestures. Now PinchHandler will react to them in the same way that PinchArea does. Change-Id: I4c7dab1d3561d20897e3671f4eb68d01ea06b9bd Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | replace MultiPointHandler::requiredPointCount with min/max range propsShawn Rutledge2017-09-295-25/+56
| | | | | | | | | | | | | | | | This is more flexible in case someone wants a PinchHandler to respond in the same way for either 2 or 3 touchpoints, for example. Change-Id: I360ce6f0239d86aa92dbebc225e3646883e71100 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | improve documentation of the PointerHandler base classes and indexShawn Rutledge2017-09-2912-46/+1705
| | | | | | | | | | | | | | also QQuickPointerEvent and QQuickPointerDevice Change-Id: I8bdb7c26cf6a5775a77dbf748c47c170270c5fff Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | improve documentation of PinchHandlerShawn Rutledge2017-09-291-0/+48
| | | | | | | | | | | | | | The readonly properties were omitted until now. Change-Id: Ia4f4b8ff5a390f6e802008c9c636d7d8ab2a3278 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | remove QQuickPinchHandler::requiredPointCountChanged signalShawn Rutledge2017-09-291-1/+0
| | | | | | | | | | | | | | This is in QQuickMultiPointHandler Change-Id: Ia4ebb1731395733e2f76edd667330fa15de6f015 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | change the type of DragHandler::translation to QVector2D; document itShawn Rutledge2017-09-293-7/+14
| | | | | | | | | | | | | | | | For consistency we use QVector2D to represent relative movements in all Pointer Handlers. Change-Id: I23dc20c360b482a995d232e8a6d7e87d9bd8f600 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Fix implicit loading of internal types when using explicit importsSimon Hausmann2017-09-267-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QQC Android style has a type that is intended to be internal only and it's loaded implictly (see bug report for details). However the qml file also has to import the module explicitly in order to get access to the singleton the module provides. The documentation says that types of a module are to be specified in the qmldir file, otherwise they are derived from the file name. With commit 22a2cc43387ec3b9f74a6c01f8665378a4541147 that become an exclusive relationship with regards to types from implicit imports. The proposed solution for the JIRA task is to mark the types that are needed internally as "internal" in the qmldir file and fix support for loading internal types through implicit imports (which is what this commit fixes). Task-number: QTBUG-63309 Change-Id: Id696a691f1af1d335c7c8d72f2627064c3d7b9ac Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Liang Qi2017-09-2083-314/+1065
|\ \ | | | | | | | | | refs/staging/5.10
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-09-2083-314/+1065
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4compileddata.cpp src/qml/compiler/qv4compileddata_p.h src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4qmlcontext.cpp src/qml/jsruntime/qv4qmlcontext_p.h src/qml/jsruntime/qv4regexpobject.cpp src/qml/jsruntime/qv4regexpobject_p.h src/qml/types/qqmllistmodel.cpp src/quick/items/qquickanimatedimage_p.h src/quick/scenegraph/qsgrenderloop.cpp tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp Change-Id: If20ef62b2c98bdf656cb2f5d27b1897b754d3dc0
| | * qmlimportscanner: Scan the root directory againMorten Johan Sørvig2017-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | “qmlimportscanner -rootPath /path/to/foo” should scan QML files in the “foo” directory. Remove QDir::NoDot, which was added in commit 6ff0e9a6. Change-Id: I15cc4a289cf246786cdf8fe2020c7f3d2798b7a5 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * Fix qmlClearTypeRegistrations() not dropping all registrationsSimon Hausmann2017-09-194-9/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 48c09a85ce397979c7e706e3694c879ffe456e09 we added the undeletableTypes container to hold a reference on C++ registered types to keep the indices returned by the public qmlRegisterType() API stable. Since qmlClearTypeRegistrations() is API that also resets those indices, we must also clear the undeletableTypes container to avoid leaking memory. Change-Id: I2038c00913f894d58aca3714d64d497493585326 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix compilation with -no-openglMichal Klocek2017-09-182-2/+5
| | | | | | | | | | | | | | | Change-Id: I91aab9d78ff4dced55cb118ea8f88994bd1d2c20 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Fall back to the ObjectWrapper for model advanceIteratorAndy Shaw2017-09-152-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When falling back to the QObjectWrapper it will add in the extra parts added when the roles were added to the object created by the model to hold the data being returned. This was causing the last entry to be duplicated and causing extra work too. Task-number: QTBUG-54285 Task-number: QTBUG-62156 Change-Id: I2907477277df8d16db4491a4999f004433e4205c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Fix use-after-free when removing elements from a ListModelErik Verbruggen2017-09-143-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detaching delegate instances from model items is done after the destruction of said model items. The problem is that after the model item is destroyed, it will emit a change/destroyed signal. As the delegate is still referencing the item, this will result in a use-after-free. To provent that, the items are kept around until after everyone (notably the delegate model) has been notified of the removal. [ChangeLog][Qt][Qml] Fix possible use-after-free when removing items from a ListModel through JavaScript. Task-number: QTBUG-59256 Change-Id: Iee182e2cf0b50d3dda2181fed95e38f1a60f22a9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * QQuickTextEdit: call implicitWidth() even if requireImplicitWidth is trueTim Jenssen2017-09-142-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before once requireImplicitWidth was set to true by requesting the implicit width, the implicit (and width) was never updated again, even if the text was updated/changed. Adding also a test Task-number: QTBUG-63153 Change-Id: Ie3bac4baeb14c2e69acc43d11a351ac91d5400da Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
| | * Add NOTIFY signal for QQuickAnimatedImage::frameCountPal Toth2017-09-134-7/+29
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-62913 Change-Id: Ib561e0ab6582c1df41ae1c75ba304377c00d63f0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Error out when compiling signal handlers with arguments in qml filesSimon Hausmann2017-09-122-2/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ahead of time we cannot tell whether the use of "arguments" in a signal hander refers to the JS arguments object or a potential arguments signal parameter. Resolving that requires access to information we currently don't have. The QML engine has it at run-time (in SignalHandlerConverter) and that's why it works there accordingly. However when generating caches ahead of time, let's rather produce an error message with a hint how to work around it instead of producing differing behavior at run-time. Task-number: QTBUG-60011 Change-Id: I9e460bd467dbb5998f12a44c439223ea44e7bbad Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix qml cache invalidation when changing dependent C++ registered QML singletonsSimon Hausmann2017-09-124-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a qml file uses a qml singleton, we need to reliably detect when the singleton changes and re-generate the cache of the qml file using it. This is a scenario covered and fixed by commit 5b94de09cc738837d1539e28b3c0dccd17c18d29, with the exception that currently QML singletons registered via qmlRegisterSingleton were not added to the list of dependent singletons for a qml file. We can fix this by extending findCompositeSingletons() to also cover the singletons that do not originate from a qmldir file. [ChangeLog][Qt][Qml] Fixed bug where sometimes changes to a qml singleton would not propagate to the users or cause crashes. Task-number: QTBUG-62243 Change-Id: I16c3d9ba65fd82e898a29b946c341907751135a9 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix Integrity buildSimon Hausmann2017-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Disambiguate the QV4::Value parameter. Task-number: QTBUG-63135 Change-Id: Iae6bd209876336d58256aa94f89d146cadc62f08 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Add missing math.h include for math functionsJake Petroules2017-09-124-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | On some platforms, math functions in the std namespace don't work even if cmath is included. Change-Id: Ia71d22b07f508e0584de5320f376fbf4b3a2887b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Update the expected size of QV4::CompiledData::UnitJ-P Nurmi2017-09-111-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ebda8170a removed a member. Thanks to the padding, the size of the structure remained the same on 64-bit, but not on 32-bit. Removing the padding gives now the same size on both. Task-number: QTBUG-63109 Change-Id: If87ad21a1c94e63643b0cd52f95e244364f6e73d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix compilation with clang 4 on LinuxLars Knoll2017-09-111-12/+12
| | | | | | | | | | | | | | | Change-Id: I3f978d9638ce3f47dff0adfb5fccdc0b4816a690 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Drain the mark stack while collecting rootsLars Knoll2017-09-101-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids overflows in the markStack for test cases where we have a huge amount of compilation units with many runtime strings that all want to get marked. Task-number: QTBUG-63063 Change-Id: I150c1f1a4065350cec59dd80c5c628920f70e3d0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Fix issue with programmatic flicking at boundsMichael Brasser2017-09-083-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that the same flick consistently produces the same results, by making sure we don't use old timestamps from previous flicks. Task-number: QTBUG-62939 Change-Id: Ie738076abba66d38ff505292925e9441c38a3c95 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Fix reuse of regexp objects by regexp literalsAllan Sandfeld Jensen2017-09-0811-39/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Accoding to the standard the regexp objects created by literals should be separate objects as if calling new. We were violating that by caching the same object for every instance of a literal. This also fixes a problem with leaking values of lastIndex between separate instances of the same global regexp literal. Task-number: QTBUG-62175 Change-Id: Ib22e9ee68de1d1209fbd4212e72f576bc059d245 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Remove temporary allocations during type cleanupSimon Hausmann2017-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a follow-up commit to 48c09a85, avoid the use of key() to create a temporary string when cleaning the QML type registry. There is strictly speaking no need to perform another hash lookup anyway. Change-Id: Ibd5f0210d5584d1f847d8ec61f25cb0972076365 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Get rid of the root object index variableSimon Hausmann2017-09-0813-46/+33
| | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up to the parent commit to remove the variable that is really a constant (zero). Change-Id: I8fc20027c5c7b871269b814cb8b93636e94be267 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix crash with loading cache files originating from top-level componentsSimon Hausmann2017-09-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a .qml file starts with Component {} and its item(s) define their own properties, alias, etc. then loading this file initially would work, but loading it from a cache file would crash with dangling pointers in the property cache. This was due to us registering aliases, properties, etc. twice in the property cache, exceeding the reservation in the property cache vectors. The minimal fix is to skip the root object in the property cache creating loop as we do handle it separately afterwards. It needs to be separate because the first object index within the component does not stem from a binding. However as the root object index is always zero, I'll make a follow-up patch to get rid of of the variable. Task-number: QTBUG-62263 Change-Id: I86b76d38cb490750a561eac2b0ad6fff6ef2e20a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix crash with dangling context object pointersSimon Hausmann2017-09-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression introduced by commit e22b624d9ab1f36021adb9cdbfa9b37054282bb8, where the object that owns the QML context would destroy the context upon struction. Now the context may live longer and thus the context->contextObject pointer would become a dangling pointer. Task-number: QTBUG-63078 Change-Id: I8fdab4086b0472d5d4930cf57aa76922b7ed9e2e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * qmlplugindump: skip imports containing "private"Marco Benelli2017-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Skipping paths that ends with "private" is not enough. Task-number: QTBUG-47027 Change-Id: I25af518b76f594c268db6b77dbafd343f2f57ee8 Reviewed-by: Teemu Holappa <teemu.holappa@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
| | * Settings: document how to have several categoriesMitch Curtis2017-09-071-0/+9
| | | | | | | | | | | | | | | Change-Id: I0f27a162936015e2aeb9d52079a65b218498b50a Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | * Fix crashes in QML apps when upgrading Qt snapshotsSimon Hausmann2017-09-072-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When upgrading from one Qt snapshot to another, we may not end up bumping the Qt version. However we do need to re-generate QML cache files. Therefore let's encode the commit hash of declarative in the checksums. Task-number: QTBUG-62302 Change-Id: Ia597fcbe05ea2d32664da2572a1b35c624490095 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * QQmlPropertyValidator::validateObject(): remove unused codeJ-P Nurmi2017-09-071-10/+0
| | | | | | | | | | | | | | | | | | | | | This code was moved to QQmlDeferredBindingScanner in f27d058. Change-Id: I8cf261c497ec433a14e00e17b67a284b45cf8d75 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * add qt.quick.canvas logging category, show size change due to DPRShawn Rutledge2017-09-071-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly as a way of verifying the fix for QTBUG-37095, so far. But of course other log messages can be added to this category later. Task-number: QTBUG-37095 Change-Id: I57930e9376529b6eacca1b554d31382d41582fda Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * Canvas: Repaint on devicePixelRatio ChangeMorten Johan Sørvig2017-09-072-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle moving between high- and normal-DPI displays. The texture gets a setCanvasWindow() call on screen change. Read window->effectiveDevicePixelRatio() here and set m_canvasWindowChanged on change to trigger a repaint if there was a change. Task-number: QTBUG-37095 Change-Id: I96ff07bd7334269cad219eb0a9056c62e850aac7 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * QQuickDragAttached: make hotSpot work with imageSourceOleg Yadrov2017-09-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This amends patch 4b982c744f538a24e21a2af146c45f93d27dd1cb. Previously, setting hotSpot had no effect on the image position because QDrag object used for the drag is created in startDrag(), and the hotspot was never updated before drag->exec(...). Task-number: QTBUG-61980 Change-Id: I9c11c456d3b32b5986cf287b2610437e3825d9d9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>