aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Improve QQuickAsyncImageProvider exampleAlbert Astals Cid2017-02-081-0/+4
| | | | | | | Also link it from more places Change-Id: Ib5fbf89f4a039f885e918d57ee477e9788049d8d Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Flickable: handle child mouse ungrab when hidden or disabledJ-P Nurmi2017-02-081-1/+4
| | | | | | | | | | | | If Flickable got hidden while a child had mouse grab, it ignored the mouse ungrab event of the child mouse grabber, and got therefore stuck in pressed state. Consequently, item view transitions were not executed since the item view though it was being pressed. Task-number: QTBUG-58453 Change-Id: I76f9f3190c3a95a2fafdce036d69ea1dc8127434 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* QQuickMouseArea: only start pressAndHoldTimer for accepted eventsRichard Moe Gustavsen2017-02-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | Most likely because of changes done to mouse event handling in 5.8, a QQuickMouseArea can now get a mousePressEvent call without a subsequent mouseReleaseEvent call if the press event was rejected. A regression seen from this is that QQuickMouseArea starts a pressAndHold timer upon receiving mouse press, which will never be 'cancelled' since the following mouse release is sent elsewhere. As a result, TextArea in QtQuickControls will e.g receive a pressAndHold signal each time the user touches the control, which again will cause weird behavior like selecting words and messing with focus on iOS. This patch will instead change this so that we only start the pressAndHold timer if QQuickMouseArea accepts the mouse press event. Change-Id: I43e2f02e2b4f75e7b6761e326e3fec54ea97683a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Implement QAccessibleQuickWindow::focusChildFrederik Gladhorn2017-02-062-0/+9
| | | | | | | | | | | | | | | When we post a focus change notification, VoiceOver verifies what the application thinks is focused. Without this function, when moving the keyboard focus (e.g. by pressing tab) the VO focus will not follow. [ChangeLog][QtQuick][Accessibility] Fixed focus handling so that keyboard and VoiceOver's virtual focus are in sync (QTBUG-58340). Task-number: QTBUG-58340 Change-Id: I7d4871c13b36c3ab9241614ca8a06452461e3cd1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Fix move ordering while resolving edges in register allocationErik Verbruggen2017-02-044-67/+104
| | | | | | | | | | | | | | | | | | When register allocation on an IR in SSA form is done, the last step is to turn the Phi nodes into moves and swaps and put those instructions in the predecessors. As the Phi nodes are conceptually "executed in parallel", this can result in cycles: r1 <- r0 r0 <- r1 These have to be turned into a swap instruction. Also, the moves have to be ordered in order to make sure that no values are overwritten: r1 <- r0 r2 <- r1 Here the two moves need to be switched. The comments in the code document the algorithm. Change-Id: I4151988681f7554b00a3eb70d224e6e2f29ebf04 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* MouseArea: fix bug preventing dragging from startOleg Yadrov2017-02-031-7/+18
| | | | | | | | | | | | | | | | The same bounded dragPos values were used for - moving the target item to new position; and - if dragging didn’t start yet, determining whether cursor moved over the threshold distance. It is right for moving the target item, but in the second case it led to that dragging did not start if the distance between item's left border and minimumX (right border and maximumX, top border and minimumY, bottom border and maximumY accordingly) was less than drag.threshold. Task-number: QTBUG-58347 Change-Id: If61a98bf734739323ef19dee6709560b754b2456 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* Enable PropertyChanges to correctly restore binding on aliasMichael Brasser2017-02-021-2/+2
| | | | | | Change-Id: I88ffdd1d1224705e980e449b6c799c9f186143b1 Task-number: QTBUG-58271 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Prevent propagating results of a phi node into another phi nodeErik Verbruggen2017-02-011-8/+37
| | | | | | | | | .. of the same basic block. Phi nodes are "executed in parallel", so such a situation will lead to interesting results. Task-number: QTBUG-58553 Change-Id: Ibed439df91d46ea416dcb0a20457310e91dce8b4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix libs build with msvc on Chinese locale on WindowsLiang Qi2017-02-012-5/+5
| | | | | | | | | | | | | | | Chinese locale means Code Page 936 here. It's also related with removing C4819 warnings. And it's also following Conventions in Qt source code: All code is ascii only (7-bit characters only, run man ascii if unsure) See also http://wiki.qt.io/Coding_Conventions Task-number: QTBUG-56155 Task-number: QTBUG-58161 Change-Id: I1c38a6ce74670716f730663edbcdec3919b438c2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix regression with UniformAnimator target property validationJoni Poikelin2017-02-013-1/+10
| | | | | | Task-number: QTBUG-58549 Change-Id: Iaa2a9cd8b86e8c2bb7e20b99fabad99d0bd51799 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* fix memory leak in QQuickWindowPrivate::deliverTouchAsMouseShawn Rutledge2017-02-011-7/+7
| | | | | | | | | | A QTouchEvent is allocated with a reduced subset of TouchPoints for each Item to which we attempt to deliver it, and thrown away afterwards. (Ιt's not efficient to heap-allocate it, but we can't avoid doing it at all without changing behavior.) So now it's stored in a QScopedPointer. Change-Id: I48badb493610d0a715e582a2eedae95e2006eb2b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Doc: Improve introduction to Qt Quick SceneGraph RendererKai Koehne2017-02-011-9/+5
| | | | | | | | | | | | | | Mention that the new backends are introduced with Qt 5.8. Also remove some details that rather belong in subsections, in particular the mentioning that the Qt Quick API's originally were designed for OpenGL. It is unclear what consequences this has for the user. Limitations on backends should be rather spelled out in the respective subsections. Change-Id: I21239ea99b89b4c7771e3d79a38c6aa39007d0ea Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix -no-qmldebug debug build with MSVCKai Koehne2017-02-014-10/+15
| | | | | | | | | [Platform Specific Changes][Windows] Fixed compilation on MSVC with -no-qml-debug configure argument. Task-number: QTBUG-58412 Change-Id: I915ed3d345b3f1e4e5863456522784ab6c9b15cf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Quick: Check fbo msaa related extensions via QtGuiLaszlo Agocs2017-01-313-9/+11
| | | | | | | | | GL_EXT_xxxx is not sufficient here. QOpenGLFunctions already has support for the ANGLE and some other variants of the framebuffer multisample and blit extensions, so use that instead of the manual checks. Change-Id: I2d8e0850d3b0b9a9cfd9e55aa38adad07a0ba45d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Doc: Fix documentation warningsTopi Reinio2017-01-306-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | src/qml/jsapi/qjsengine.cpp:524: warning: Undocumented parameter 'metaObject' in QJSEngine::newQMetaObject() src/qml/qml/qqmlengine.cpp:1023: warning: Undocumented parameter 'retCode' in QQmlEngine::exit() src/qml/doc/src/qmlfunctions.qdoc:182: warning: Undocumented parameter 'reason' in qmlRegisterUncreatableMetaObject() src/qml/qml/qqmllist.cpp:393: warning: Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:393: warning: Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'at' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'count' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'append' in QQmlListProperty::QQmlListProperty() src/qml/qml/qqmllist.cpp:402: warning: Undocumented parameter 'clear' in QQmlListProperty::QQmlListProperty() src/quick/items/qquickwindow.cpp:4461: warning: No such parameter 'backend' in QQuickWindow::setSceneGraphBackend() Also do some minor language editing. Change-Id: I2e806d1a77e3c4264d709c27d2bfc4542a782716 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix build without animation by disabling quickTasuku Suzuki2017-01-301-1/+1
| | | | | | Change-Id: I3b9bc6aa69dbf2a780765ba935b76be6a22280e6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* QQmlTypeCompiler: Fix read after free in tst_qqmllanguageRobin Burchell2017-01-281-2/+1
| | | | | | | | | | invalidAlias.11 revealed a problem with the loop here, in that the vector was modified while it was being iterated. There isn't any need to modify the vector being iterated, as it'll be put into pendingObjects for the next loop. Change-Id: If9b537c4ac00697237d12e4b0be67ef39cc8b3c4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Mention that QVariantList is also a supported model typeKavindra Palaraja2017-01-281-6/+16
| | | | | | | | | Also added a section with more info that asks the reader to refer to the QStringList example above. Task-number: QTBUG-47768 Change-Id: I4e99b81ac242f7df1ddc412f85c9c1b822080514 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Doc: reinserted hello.qml which had been deleted by mistakeNico Vertriest2017-01-272-1/+77
| | | | | | | | | During the update of plugin.cpp this file was deleted by mistake. plugin.cpp still refers to it and it needs to be reinserted in src/quick/doc/snippets. Change-Id: Ie23c926ff6096392da96f0063c767009a3965a30 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix build without features.temporaryfileTasuku Suzuki2017-01-271-0/+5
| | | | | Change-Id: I31bcf56ee0c4ec9285dccb356b03b89e8ce8356a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* remove obsolete host build declarations from subdirs projectsOswald Buddenhagen2017-01-261-2/+0
| | | | | | | follows up qtbase/4eb2feb2. Change-Id: I13ba74fb25dfd059782b369350fa14e44b70bf79 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix build without qml-debugTasuku Suzuki2017-01-241-1/+1
| | | | | Change-Id: If4308195b05255a49a06184cab3db88ec9532f76 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build without features.localserverTasuku Suzuki2017-01-231-2/+2
| | | | | Change-Id: I25edd84fb67f417caa98e63f284547eac3a7793a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* No need to define c99 math functions in c++11 modeJulien Gueytat2017-01-221-1/+1
| | | | | Change-Id: I5a04cb678ad4a222d2a716dd1499f5103bb66c8e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* StackLayout: propagate rearrange() call to child layoutsOleg Yadrov2017-01-191-1/+5
| | | | | | Task-number: QTBUG-57867 Change-Id: I0190b892e2bc2966b82a0dbd99e53fd9d6848957 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Fix memory leak in V4Gunnar Sletta2017-01-191-1/+1
| | | | | | | | | | | | | | | | | | Transitions contain both an id and a set of flags, but the sorting failed to take the flags into account in the operator<. As a result we would some times end up with duplicate entries if the same id was added multiple times with different flags. If the same id was added again and again with varying flags, this could lead to an ever expanding list filled with duplicate entries. Fix this by also taking flags into account in operator< so that operator< and operator== are symetric and the list gets correctly sorted. Change-Id: I762ec3f0c5b4ed9a1aecb9a883187a0445491591 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Fix support for QJSValue as C++ signal parameter type, part 2Simon Hausmann2017-01-181-1/+1
| | | | | | | | | | | | | | | | After commit 0e3380f9c6ab6e3ea7398caccf5aa84f1575f1cd we wouldn't crash anymore, if QJSValue::UndefinedValue was provided as value for a QJSValue C++ signal parameter. However that was not a complete fix for the regression of commit aa869cbb06bcf005e238059a2cb0205947ff0b5f, as other primitive values stored in QJSValue as QVariant were not converted, so for example QJSValue(42). So let's fix this once and for all by using QJSValuePrivate::valueForData, that handles all types of QJSValuePrivate encodings. Task-number: QTBUG-58133 Change-Id: Ib7c0461b18df6260ccd4bce729ae2348281eb7f3 Reviewed-by: Arnaud Vrac <avrac@freebox.fr> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clarify that QML's date object includes timeKavindra Palaraja2017-01-161-2/+2
| | | | | | Task-number: QTBUG-42495 Change-Id: I0f7693ed32d3ec696f5c75b7ce7acdb41dd0ce6f Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix build without feature.statemachineTasuku Suzuki2017-01-161-2/+2
| | | | | Change-Id: Iea95465a88627e312259ea62a8908d9cbb3f82ac Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build without feature.shortcutTasuku Suzuki2017-01-153-3/+17
| | | | | Change-Id: Id0ea0037db4cc3878ae2f75109aa3a7daa120189 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-141-1/+9
|\ | | | | | | Change-Id: I981c19429b1bf6f0990b5740c165e235829f702e
| * Fix incorrect JavaScript evaluation with the JITv5.8.0Simon Hausmann2017-01-061-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression from commit 7e14b531b294650733a61a9365eb9ef74f8a7a90, that replaced a QHash<temp, liveInterval> with a vector of intervals. When an interval is split, it may happen that during one interval a temp is stored in a register and in the second interval it ends up in a different register or the stack. The _liveIntervals variable, formerly the _intervalForTemp hash, tracked the intervals per temp when going through the basic blocks and statements during the renumbering phase. Indexing uniquely by temp is important therefore for _liveIntervals and addNewIntervals violated that by replacing the QHash replacement _intervalForTemp[i->temp()] = i; with _liveIntervals.push_back(i); This is how we may end up with multiple intervals for the same temp (in different locations), and when doing the linear lookup we'd only find the first. Restoring the replacement behavior and thus ensuring uniqueness by temp fixes the miscompilations. Task-number: QTBUG-57779 Change-Id: Ib8f53672b66750f68e16e47794dbc5f39989e1a2 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Remove documentation references to internal functionsKavindra Palaraja2017-01-131-7/+0
| | | | | | | | | | | | | | | | | | | | QSGOpacityNode::combinedOpacity() and QSGTransformNode::combinedMatrix() are intended to be internal. Task-number: QTBUG-53897 Change-Id: Icc73476eb8af5cdc673f7ce9bacd25ecc75202b5 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* | Fix crash when C++ QJSValue parameterized signal interacts with JSSimon Hausmann2017-01-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | When converting the parameters of a C++ signal to JS values to provide to a signal handler written in JS, the conversion of a QJSValue to a QV4::Value* may yield a null pointer in case of a default constructed QJSValue for example. This is a regression from commit aa869cbb06bcf005e238059a2cb0205947ff0b5f and we must check for this. Task-number: QTBUG-58133 Change-Id: I528b606b2851dfb3072e54902bd8843d31571a55 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix build without feature.imTasuku Suzuki2017-01-131-0/+2
| | | | | | | | | | Change-Id: I9c0c0138e48b30a443307faf6cd7251017bf84ae Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QJSValue: Mention how to construct QJSValue from other non-obvious typesRobin Burchell2017-01-121-1/+2
| | | | | | | | | | | | | | This has come up in queries from users, so let's add a helping hand. Change-Id: If4e5efdd8969a71a78fc88ae168ede8d681858aa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix projection matrix for DepthAware QSGRenderNodesLaszlo Agocs2017-01-121-1/+6
| | | | | | | | | | | | | | | | Unlike renderUnmergedBatches(), renderRenderNode() did not adjust the projection matrix. Change-Id: Ib5a7183a3623d35c85af47205cc22187bad89409 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Propagate root changes to rendernodes tooLaszlo Agocs2017-01-121-0/+4
| | | | | | | | | | | | | | | | | | Otherwise weird things will happen once a node gets turned into a batch root and the rendernodes in the child subtree still refers to their old root. Change-Id: I42b0ba514c2fbeed833f0f665e49b275c19b5686 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Update QSGRenderNode docs to match realityLaszlo Agocs2017-01-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | Scissor and stencil tests are not actually enabled when invoking render(), meaning rendernode implementations do not clip by default. This has been documented when making the class public in 5.8, but the older list with the OpenGL states still contains contradictory entries which are false since Qt 5.2 or so. Change-Id: I46875b11322585d40962db2c4302602a1410a7b9 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Avoid needless notifications when destroying layoutsJan Arve Saether2017-01-123-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When deleting a layout with children, it ends up in ~QQuickItem(), which in turn will call setParentItem(0). setParentItem(0) will in turn call setEffectiveVisibleRecur(), which will recurse down all its descendants. Therefore, deleting a top level layout might trigger item change listeners for *all* its descendants, not only its direct children. This behavior might even cause crashes: The visibility changes will then trigger an invalidation of the layout, which will propagate up the parent hierarchy, and potentially call invalidate() on a partially-destroyed layout, which then might crash. Change-Id: I48e11d57f69e9011ced6c3a0b51e3d89b24ad5c1 Task-number: QTBUG-55103 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QML tooling: Make sure we signal object creation also from QQmlIncubatorUlf Hermann2017-01-112-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | We have to call the QQmlEngineDebugService back from QQmlObjectCreator rather than QQmlComponent, as there are more ways to create an object. We also add the new instance to the global instance list if only the V4 debug service is active, as both QQmlEngineDebugService and QV4DebugService use it. Change-Id: I5dcc71b2e91049bc19ec70d7b87959a61c9b6b75 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix crash in CanvasGunnar Sletta2017-01-101-1/+0
| | | | | | | | | | | | | | | | | | | | The Image based code path will delete the texture in textureForNextFrame() so deleting it again here is wrong. The convention is supposed to be that if the textureForNextFrame returns 0, it also deleted the input texture. So not deleting is correct for both Image and FBO. Change-Id: I45a5ef94c13358f3637f51ae2d21224518ea6a25 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Doc: Rearranged order of Extending QML ExamplesNico Vertriest2017-01-091-0/+36
| | | | | | | | | | | | | | Rearranged in logical order of example build up Change-Id: I6af8e39bd900d4ce058de46e0b3ebd5e368222c8 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Clarify MouseArea's onClicked and onPressAndHold documentationKavindra Palaraja2017-01-081-2/+2
| | | | | | | | | | | | | | | | | | | | Changing the accepted property within the onClicked and onPressAndHold event handlers only have an effect if the propagateComposedEvents property is true. Task-number: QTBUG-46912 Change-Id: I66a9114f6dafdf79a5fbf1278656c2988ffb42a2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Clarified that QQmlListProperty can only be used for lists of ↵Kavindra Palaraja2017-01-051-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | QObject-derived object pointers Added the info to the QQmlListProperty's brief itself so it stands out. Removed the original note. Also added a See also link to the complete example. Task-number: QTBUG-37888 Change-Id: I9e1b77b035321ade44fe57d56e68a9c3d20cb879 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Added documentation for the GroupSwitchModifierKavindra Palaraja2017-01-051-0/+1
| | | | | | | | | | | | | | | | Used the default sentence from Qt::KeyboardModifier. Task-number: QTBUG-53211 Change-Id: If763ca1b8d9ee7dcfa511f3a19dd012aac4d4f9c Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Fix stencil clips with core profile contextsLaszlo Agocs2017-01-041-1/+22
| | | | | | | | | | | | | | | | Client-side pointers are not supported. Start using a VBO instead. Task-number: QTBUG-57768 Change-Id: Ia7ac9b0838d837b02e8bf99fcd22f0373cb357c9 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Added the missing link to AnimationKavindra Palaraja2017-01-031-0/+1
| | | | | | | | | | | | | | | | | | | | Animator inherits from QQuickAbstractAnimation which is known as Animation in QML. Its properties are inherited. Task-number: QTBUG-55738 Change-Id: If16c87c9367825d7661940e7c1930179862e59cb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Fix QML cache not being invalidated when source path changesSimon Hausmann2017-01-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | When somebody renames the directory name underneath a QML file and its cache file, then we need to re-generate the cache as it contains the fully path of the source path. That is sometimes used to resolve relative URLs (such as images) and therefore needs updating (by re-creating the cache). Task-number: QTBUG-57644 Change-Id: I9766668859aad8e9d71f278c3f26c0585258c14e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | QQuickWindow flushFrameSynchronousEvents: don't hover if nothing dirtyShawn Rutledge2016-12-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | An optimization revising 6f84a09dfbd15aac023580cf06e7b8c24f3b524c Calling hoverMoveEvent every frame is too inefficient when an item subclass is actually doing something there. For example, any QtQuick-based Wayland compositor needs to notify its client windows when hover state changes, so calling this method too often would impose extra work to double-check whether it really changed or not. Change-Id: I98b40a2083700e7a50820bd13154247444249e59 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>