aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * | Fix GC corruption on macOS and possibly some other OSesLars Knoll2017-04-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marking mmap'ed memory as unneeded, leads to it being zeroed out on both Linux and Windows. Unfortunately that behavior is not defined by POSIX, so BSD based OSes (and possible others as well) do not do this. We do however rely on getting zeroed out memory whenever we allocate a new Chunk for the garbage collector. To work around this, zero out memory we deallocate on those platforms. Task-number: QTBUG-59278 Task-number: QTBUG-59977 Change-Id: Idde812db8537b63b9e9df7de41620ce0df09b6de Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
| | | * | Fix build without features.qml-interpreterTasuku Suzuki2017-04-212-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5f9c00541c27377e8310d32bf045c2860eeffcb4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | | * | Silence GCC 7 warnings about implicit fallthrough in Qt codeThiago Macieira2017-04-2010-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only deals with Qt code. MASM has a lot of those left. We should just update from upstream instead to get the fixes. qv4regalloc.cpp:660:52: warning: this statement may fall through [-Wimplicit-fallthrough=] if (leftSource->type == DoubleType || rightSource->type == DoubleType) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ qv4regalloc.cpp:666:13: note: here case OpBitAnd: ^~~~ Change-Id: I7814054a102a407d876ffffd14b6b0e2d6b03689 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | | | QQuickDesignerSupport: Port away from boundingRectRobin Burchell2017-04-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is undocumented and internal, as well as being virtual. It is usually (but not always) at a 0,0 position too, so I suspect that for the few items like text that aren't, this may have been incorrect. Change-Id: I948eceb5df052fdd137b37e211c244036b74299f Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
| * | | | Fix performance regression in animators since 5.6Gunnar Sletta2017-04-222-23/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The costly addition is down to that we're performing TransformJob::postSync() which we did not do before. This is superfluous though, as we do the same bit of code in preSync() and there is no way the pointers we're checking for can change between pre and post. Only missing bit is to move the invalidate(). Change-Id: I96420c14e11a5a33997ed6fac6a78695a917a8f2 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
| * | | Add support for std::vector and QVector matching the support for QListVille Voutilainen2017-04-212-28/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-60133 Change-Id: I5497dc3c4a1c3922e7147d7a20593c75a0d9d0e9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-2110-14/+29
| |\| | | | | | | | | | | | | | Change-Id: Ibed6ee74d36b4ce37391c82db00a0abd30d09e7a
| | * | QML: clear the property cache on QObjectWrapper destuctionErik Verbruggen2017-04-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an external QObject is exposed to an engine through a QObjectWrapper, make sure to deref and clear the propertyCache reference in the object's declarative data when the QObjectWrapper is destroyed. This makes sure that there is no dangling propertyCache pointer when the object is subsequently exposed to another engine. Task-number: QTBUG-57633 Change-Id: I37f6793d8be65b23b4e81bb4ed91db18271261b0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Fix for dangling object pointers in QQmlErrorsRobert Griebl2017-04-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rarely happens - only seen with Delegates - when - an object is created during incubation - some error occurs in this object - the object gets deleted before the incubation run finishes Because the errors are delivered after the incubation run finished, the object() pointer of QQmlError is now a dangling pointer that will crash your application if accessed. Change-Id: Idd9fccbc58e4ada67bde3ca1aeec736aa9374789 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Add \since to QSGTexture::AnisotropyLevelFriedemann Kleint2017-04-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends change 5ef3265cd46de6579399562429e26961d6f13885. Change-Id: I6c75273e45e235084e5aea53e83669bab85798ee Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | * | QQuickShortcut: Initialize idRobin Burchell2017-04-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If1a8b91c11ca3d84e80691e247c0281a966a2939 Task-number: QTBUG-60206 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | * | Fix warning for -no-feature-cursorStephan Binner2017-04-181-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Idc2ab95d0ea1e556995e7bcd29b5cbcd82bc28f6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Fix warning for -no-feature-desktopservicesStephan Binner2017-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ia3a590a564ab9bde9b19c4e7955420a7d1eacb2b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Fix warning for -no-feature-shortcutStephan Binner2017-04-181-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I2f6f38af1fb9ecc8a763f9c2d0a45200fd6374af Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | QQuickAnimatorProxyJob: make sure to stop when detached from a windowJ-P Nurmi2017-04-181-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous attempt to fix this (05a88ef) had to be reverted (7fe0d1a) because Q_ASSERT(m_controller) in updateCurrentTime() failed in QQC1 auto tests. It seems that m_controller can be null when m_internalState is still State_Starting. Task-number: QTBUG-59034 Task-number: QTBUG-59953 Change-Id: I07ceec8fe4e66ba0571092b4385d8140035a4b33 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Aleix Pol Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
| | * | QQuickText: optimize updateLayout()Anton Kudryavtsev2017-04-181-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QString::replace(QChar, QChar) was fixed in c12f42e91b146109cc9ee5d050928672776ca1ee So no need to use pre-condition. Change-Id: I98eadfc89350194832b229afe061dc0bd01f1bc9 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | * | Doc: Fix property name from "url" to "source"Leena Miettinen2017-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | URL is the type of the property, not its name. Change-Id: Id76bdb70031a3cacdfd0951ff132e57a512ae208 Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
| | * | Doc: Write URL in capital letters in textLeena Miettinen2017-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibac6a3f8ddf4b441dd8359162094eb786fda84d7 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
| * | | MM: Provide information about object types on sweepRobin Burchell2017-04-203-20/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Helps give an idea about what kind of garbage is being tossed away. v8-bench shows no real change in performance outside "usual" variance, I didn't benchmark QV4_MM_STATS=1 but I assume there will be some penalty there. Change-Id: Ida0c5917289891279d95fd47480bd4869b42b0e6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | QAccessibleQuickItem: Remove dead codeRobin Burchell2017-04-201-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Answer is "no, it cannot". Change-Id: I2b0a25f81b69578e9aa0b21e258d2dba5831e5ff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | QQuickWindow: Actually mark sendEvent as deprecatedRobin Burchell2017-04-172-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... not just in the documentation. Change-Id: I524841e253b16364b404053290db246729d72e48 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | QQuickContents: Use QRectF rather than reinventing itRobin Burchell2017-04-172-20/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No major impact on benchmarks -- if anything, this improves the new delegates_item_childrenRect by 2-3 frames. Change-Id: I50fef6f0bc9531eabd1d42079886dca754e1ce2a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * | | QQuickFlickable: Remove an obviously stale commentRobin Burchell2017-04-171-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These properties all have proper documentation now Change-Id: Ie65221de468cac18b916506432097843e7921fed Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | QQmlConnections: Don't crash (or read past bounds) if a silly prop name is givenRobin Burchell2017-04-131-3/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I156d27b21159f019a969a33e553e63fac9a3d193 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Add and use QQuickPointerSingleHandler::moveTarget()Shawn Rutledge2017-04-283-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, DragHandler::pos() was not staying constant during a drag, because we update m_pos from the EventPoint, then move the Item. scenePos() also returns mapToScene(m_pos). If the Item is being dragged to follow the finger or the mouse cursor exactly, unconstrained, then pos() should always be the same as the parent-relative position where the press occurred. Change-Id: Ia02738c0cf458e039cf90371f9c8a7becb75a035 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQPSingleHandler: accept only left mouse button by defaultShawn Rutledge2017-04-282-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes as much sense for DragHandler as it does for TapHandler. If you want to allow right-button dragging, you need to enable it in QML. In general, UIs have always relied on the left button for normal interaction, while the other buttons are for special cases. Change-Id: I708d5d080832c32ef581ca333c9be06e987ef007 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | TapHandler: CancelGrabPassive => setPressed(false)Shawn Rutledge2017-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a TapHandler's Item is inside a Flickable, the user has pressed the mouse button over the TapHandler, and then the Flickable takes the mouse grab during dragging from there, if the TapHandler has only a passive grab, it is cancelled. In this case the TapHandler should no longer be pressed, because it's being dragged instead. Change-Id: I129f44cc9b8d8e99b00e23cd5943dd57d4ae5d16 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | DragHandler: allow parent to be different from targetShawn Rutledge2017-04-272-7/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The most obvious way to implement a Slider is to allow dragging the knob - as on a real-world physical sliding potentiometer. But to make it easier on a touchscreen, it should be possible to touch anywhere along the slider's travel, as on a QtQuick.Controls 2 Slider. For that purpose, we need to respond to events within the bounds of one Item while actually dragging a different Item (the knob). It's similar to the way that PinchHandler can handle pinch gestures within one Item while transforming another (which may be too small to get both fingers inside). Change-Id: Iac9a5f11a7a45e22d93fe52bf62d157c48d72d3d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Start over with event delivery when touchpoint presses occurShawn Rutledge2017-04-272-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was part of the intended design for pointer handlers; omitting this feature has until now prevented some opportunities for handoff from one handler to another. Now if PinchHandler has grabbed, pressing one more point will let something else have a chance again, for example. But this is incomplete in that if we release a point, we should do the same thing, actually. Change-Id: I10f567e7e4388bf0caab54c261178f19db20b14a Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQPSingleHandler: store m_scenePressPos separatelyShawn Rutledge2017-04-272-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The scene-relative position at which an EventPoint was pressed does not change during a drag. The target item is moving, so we cannot convert a point relative to the target item back to a scene position and expect it to stay constant. Change-Id: I07389993c6b15316b686824c37dbad83b4b10861 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQMultiPointerHandler: don't steal grab if keepMouseGrab/keepTouchGrabShawn Rutledge2017-04-273-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An Item (such as MPTA with onGestureStarted: gesture.grab()) may set these flags, traditionally to prevent Flickable from stealing the grab. QQuickMultiPointerHandler (and thus PinchHandler) now respects these flags too. Change-Id: Iac3ab796c5aa410be45639d679ecf82b7c44a442 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQuickMultiPointerHandler::wantsPointerEvent ignores grabs on pressShawn Rutledge2017-04-271-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A PinchHandler for example has strict requirements, so when they are finally met, it needs to be willing to take over the grab from something else. This occurs when a point is pressed or released (in which case a grabbing PointerHandler might probably give up its grab anyway, if its requirements are not met anymore). MPTA can typically handle a variable number of points though, so it will not give up its grabs, and PinchHandler must be able to steal from it. The first step in stealing is for the handler to say that it wants the points despite any existing grabs. Change-Id: Ic3a2586d43e4cfe1877f90ce2e2862a9abc4b81b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | PointerHandler: add wants/declines logging to qt.quick.handler.dispatchShawn Rutledge2017-04-272-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and remove the similar "delivering to" log from QQuickItem. It's more useful to know whether delivery will continue rather than simply that we made an attempt. Change-Id: I58c37fb50d4d0c99ef6aa68662ab304194b6d128 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | Remove redundant entriesJan Arve Saether2017-04-251-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort the entries to ease lookup Change-Id: I306ca508e8b382b9a60fe737f28f5fa2c9471dc1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | QQuickPointerDeviceHandler: add acceptedModifiersShawn Rutledge2017-04-252-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes you want to require holding down a key in order to enable some interaction. As with the other "accepted" flags, it's better to do this with a property than with Javascript. Change-Id: Ie29880f5f9f496ddca1bee462e2c0e6dd30fa9f5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQuickPointerSingleHandler: add setIgnoreAdditionalPointsShawn Rutledge2017-04-242-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 3523b676382db4aa39adeb9126d8bb2185e84403 it became impossible to write a subclass which handles one point and ignores the rest. In some cases this is necessary. Change-Id: I27511e6112a93ef98a4cf45c8531287781698b5b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | DragHandler: onGrabChanged, enforceConstraintsShawn Rutledge2017-04-242-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the grab is stolen by a parent such as a Flickable, ensure that the DragHandler doesn't keep dragging. This helps to prevent dragging sliders out of their "groove" constraints. Change-Id: Id24f53e137ed186b1c02ab9c73a69a59022e80b0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQPSingleHandler: don't accept a touchpoint other than the chosen oneShawn Rutledge2017-04-211-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also caused a failure in the new TapHandler test: wantsPointerEvent() can see stationary touchpoints, and they may end up being "candidates" (although not if wantsEventPoint() returns false for all stationary points), but don't get confused by that: we chose a particular point, always the first for which wantsEventPoint() returns true, not any subsequent points for which wantsEventPoint() returns true. It's important to accept only that point, because in other places where we don't have access to the return value from wantsEventPoint(), we treat the accepted state as the _memory_ of what wantsEventPoint() returned. So it must be consistently the same. Change-Id: Ia121bde50d956b45b2cf62eddf326293a5c02274 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | TapHandler: do not react to stationary touchpointsShawn Rutledge2017-04-212-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In autotests, stationary points normally have invalid position. A TapHandler does not need to react to them anyway. But we must also avoid having a grab cancelation due to a stationary point, and that applies to all PointerHandlers in general. Change-Id: I99493ad7d859e0c4ef155afc699aa34f28ffdbc7 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQPSingleHandler: verify wantsEventPoint() even when pointId is chosenShawn Rutledge2017-04-211-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows TapHandler to veto the "wanting" during an update, if the policy is violated. For example, if the policy is WithinBounds, and the point leaves the bounds, it will say that it does not want the point; but without this change, it is not asked again when the point is moved outside the bounds. Change-Id: Id764b3d24966ce9c3c4795e9f2a0aa37821caa42 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | TapHandler: don't "want" every updated/stationary pointShawn Rutledge2017-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the policy is ReleaseWithinBounds, we assumed wrongly that wantsEventPoint() would not be asked about a point which QQuickPointerSingleHandler::wantsEventPoint() would already rule out, or about a point which was not grabbed either passively or exclusively. But in fact it is asked about every point. A tap is not going to occur unless the press occurs within bounds; if that happened, then QQuickPointerSingleHandler::m_pointId will have been set. So a TapHandler with this policy should remain interested in an updated or stationary point only if it is the same one which it was already interested in when it was pressed. This gets the multipoint button example and autotest working. Change-Id: I399c06071fd804cd6994d5f0153c307cec9d2f90 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | TapHandler:wants: don't setPressed(false) unless pointId matchesShawn Rutledge2017-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the multibuttons manual test: the first button would see that a second point was pressed, and that it didn't want it, because it's outside the bounds. This is not a good reason to discontinue responding to the first touchpoint, which is the one it was first interested in. Change-Id: I7004a667873f235d3dda84b4261113d37d911763 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | QQuickPointerTouchEvent::reset(): preserve reordered touchpoints betterShawn Rutledge2017-04-202-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not just the grabbers we have to worry about. If touchpoints in one event are in a different order than in the previous one, we need to also preserve anything that was remembered from when that touchpoint was pressed: that is pressTimestamp, scenePressPos, and maybe sceneGrabPos. So now we use a vector of structs for that purpose, which is more extensible and easier to read. Change-Id: Ibf2c0079693ed10988f0066184d53ee9106f2eca Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | QQuickEventPoint: always inform grabberItem on touch grab cancelShawn Rutledge2017-04-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have a TouchCancel event we send it to the Item via sendEvent, so it can be detected in the Item's event() or touchEvent() override. If not, it still needs to be informed that it lost the grab, so call touchUngrabEvent() instead. MultiPointTouchArea for example will stop showing that all its points are pressed, if the grab is stolen by something else. Followup to 59c753bc75c7cfd4068fbbba3c25e1f54c46f4c0 Change-Id: I211c02d51cdde8f8722600cf914485adcc2aa1f3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | PinchHandler: add centroidVelocityShawn Rutledge2017-04-204-0/+15
| | | | | | | | | | | | | | | | | | | | Change-Id: I34cc9146155bded8311c1173e4b8d34d8b17b034 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | TapHandler: add qt.quick.handler.tap logging categoryShawn Rutledge2017-04-201-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PinchHandler has its own. Maybe every pointerhandler should. Change-Id: Ic87494c8e333dcd502d4e259789b68337c3de349 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Fix remaining QQWindow qCDebugs to show eventpoint IDs in hexShawn Rutledge2017-04-201-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I04122218499733856136f5a49b72707a0e8885e5 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Make tst_qquickflickable::nestedSliderUsingTouch passShawn Rutledge2017-04-142-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revisions to 9b5fc80af28580e9672792dd511d876a93947882 and 781f76176239bfbfe6041f2676e2f2804337d312 are necessary to allow Flickable to steal synth-mouse events from children which accept only touch events. Change-Id: Id779368d7a44c1561da99a9f2c37e8d32278773e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Add QQuickItem acceptTouchEvents/setAcceptTouchEvents; require for touchShawn Rutledge2017-04-147-12/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been suboptimal to speculatively deliver touch events to Items which are not interested; even worse is when we must deliver to a parent item which is filtering events, when the child Item will not accept the touch event anyway. So now it is required that any QQuickItem subclass which wishes to accept touch events must call setAcceptTouchEvents(true) (typically in its constructor). If it does not do this, it will not get any touch events (and this saves us the trouble of looking for parents which filter touch events, too). It is consistent with needing to call setAcceptHoverEvents() to get hover events, and setAcceptedMouseButtons() to get mouse events. [ChangeLog][QtQuick][QQuickItem] When subclassing QQuickItem, it is now required to call setAcceptTouchEvents(true) if you need the item to receive touch events. Change-Id: Idc76c04f4e7f1d4a613087e756e96dac368f4f23 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Merge remote-tracking branch 'origin/dev' into wip/pointerhandlerShawn Rutledge2017-04-13217-3323/+4653
|\| | | | | | | | | | | | | | | Change-Id: Ie2894830470a69827d4ace3d8af9bee971e3fbd4