| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-75202
Change-Id: I852439cd4d3b7106d018757e6c11c7d455fc9692
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-59960
Change-Id: I6684b1a63425233dbee1d37acfe3e785cb76a597
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Not being pressed inside the target is a necessary but not sufficient
reason to reset m_pressTargetPos to the center of the target. The
intention was rather to make the target jump into position when the
parent was a different item: e.g. if a Slider has a DragHandler whose
target is the slider's knob, you can start dragging anywhere on the
whole Slider but you want the knob to jump to the cursor position when
the drag begins.
While we're at it, both branches of the if in onGrabChanged()
are checking that target() isn't null, so we can move that check out.
Fixes: QTBUG-74966
Change-Id: I05be11d27422b070d941b9e43d4e1157e071c3a5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickWindowPrivate::sendUngrabEvent() sends an UngrabMouse event, and
that can be filtered by parent filters. If a touch cancel happens to a
MouseArea in a ListView delegate, we need the ListView to filter the
UngrabMouse event so that QQuickFlickable::childMouseEventFilter() will
call QQuickFlickable::mouseUngrabEvent() and
QQuickFlickablePrivate::cancelInteraction() will set pressed to false.
The pressed state became true because Flickable filtered the press
event; so for symmetry, it also needs to filter the touch cancel (in the
form of a mouse ungrab), to avoid being stuck in a state where it can't
move programmatically.
Fixes: QTBUG-74679
Change-Id: I6c0ed364d2bc1f45c7e7b17846a09f6b53f91d0a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
| |
If currentIndex is quickly assigned a different index and then the
previous current index again, it should not move.
Fixes: QTBUG-74508
Change-Id: I8d610e3fe452c8631e082c648e77d2cb70ae57c5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Similar to commit 9921180a44d9097b1b83c2fa7b3f36dbb555140c, introduce
liberal use of QTRY_VERIFY.
Fixes: QTBUG-74605
Change-Id: I4552b1df4021f78cddff08f0b7d8629fafe25acb
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Use QScopedPointer where appropriate to avoid reporting false memory
leaks with ASAN's leak checker.
Change-Id: Ia3dfeafc66c2ad2ac8454861acce82b99678e517
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
The test is flaky, just like it is on Ubuntu.
Task-number: QTBUG-74072
Change-Id: I65b1f7a00a72abd57460957a6399a86c213d082b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-59960
Change-Id: I4a4d607c84600c83475d0ea5c10c9466d4dc626c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-74544
Change-Id: I0a8c54d2a02d959edacd82abcee4553222d575d9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-74517
Change-Id: I3e0a90a264f8f686bba89e6b8dc4ebcf05418f77
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
Apparently we cannot rely on the content height change to immediately
take effect.
Change-Id: I8b4bf7b7d0b72da84228c7a3f1460b42c97e0330
Fixes: QTBUG-74518
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use QTRY_VERIFY in order to allow for a delay in rendering the
rectangle.
Fixes: QTBUG-74468
Change-Id: I797b269358aaa35487144bb03a85f36646e2302f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This happened if the "real mouse" was never moved, since moving the real
mouse caused it to update the internal
QQuickWindowPrivate::lastMousePosition. If the window never got any
mouse events, it would therefore fail to generate proper hover events.
However, if the window got exposed under a mouse cursor it would generate
a hover enter event. We therefore update lastMousePosition when that
happens also.
Change-Id: I77d9b1bd779a813756c4056b015f2e81664b6d36
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this scenario, a DragHandler is inside an Item in a Loader, under
a MouseArea, which unloads the loader on press. So on press, the
DragHandler acquires a passive grab, then the MouseArea acquires the
exclusive grab, then the DragHandler is destroyed along with its parent
when the Loader is unloaded. On release,
QQuickEventPoint::setGrabberItem(nullptr) was sending an
onGrabChanged(passiveGrabber, OverrideGrabPassive, this) notification.
That was questionable: the handler was not just then getting its grab
overridden, but rather un-overridden, because the exclusive grab
was being released. It's also a good idea to check for null pointers,
since m_passiveGrabbers is a collection of QPointers already,
so we can tell when a passive grabber is deleted dynamically.
It can also be reproduced with MultiPointTouchArea just as with
MouseArea, so the test is written that way for convenience, because
we have tst_multipointtoucharea_interop already. It doesn't really
matter which handler has the passive grab, or which item has the
exclusive grab that's being relinquished.
Fixes: QTBUG-73819
Change-Id: Ic605efa2143a1d849be095dcb88d6c38d7d2ee19
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
| |
Those are flaky. They need to be fixed.
Task-number: QTBUG-74050
Change-Id: I08f17aa490afc1809823fbda3bfdbbd9ee109087
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
touchAndDragHandlerOnFlickable and touchDragFlickableBehindSlider are
unstable.
Task-number: QTBUG-73983
Change-Id: I220869a0a6e7beb69d7273b0edc66ac067ebcd38
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Tag the new 'row' and 'column' properties with revision 12.
This will make sure that they cannot be accessed by the delegate
unless the QQmlAdaptorModel has the correct minorVersion set.
Fixes: QTBUG-70031
Change-Id: I49e67c37ab5b7925c7bca313bbb99f04d1387cc4
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
If we keep plain pointers to objects we don't own, we need to zero them
when something else deletes them.
Fixes: QTBUG-73733
Change-Id: Ib4f3e144f10f70ab6cf44af4ffa62725470d3972
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When switching between the two it should respect whatever the color is
regardless of whether it is a color value or a string based color. This
also accounts for "invalid" colors as this should set the stroke-style
to be #000000 to be inline with the default stroke-style indicated in
the specification.
Change-Id: I00bee6c9a85787762271882838510b4187798ee0
Fixes: QTBUG-42155
Fixes: QTBUG-52959
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
This could for instance happen if the window gets exposed under the
cursor, and it sends a mouse move event that might interleave the press
and release events, causing the eventCount variable to jump to 3.
Change-Id: Icce59b2aa1a937a990baa83f503907633003e2bb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to our "Coin - Flaky Tests" dashboard on our grafana, initView()
in tst_qquickmousearea seems to have very few flakiness issues in actually
exposing a QQuickView.
It is therefore a good idea to share this implementation so that it can
be used by other tests too.
Change-Id: Ie83cbf7d00fa02bdd4699757471fa180945851e3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
macOS 10.9 is no longer supported.
Fixes: QTBUG-45466
Change-Id: I44ce5e6c7d941cf21d937fb0cfe54ee418d28c4e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-26696
Change-Id: I32cebc9e0b63b55113f24fd40c06e7017b763aaf
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...based on statistics visible in Grafana.
Task-number: QTBUG-41895
Task-number: QTBUG-38209
Task-number: QTBUG-65978
Task-number: QTBUG-36804
Task-number: QTBUG-45466
Task-number: QTBUG-29062
Change-Id: If62d2413ede234d33b411e0ecb4f93ec6e0f8062
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
The usual problem is that Flickable doesn't instantly jump to the
expected position but moves there after a delay.
Change-Id: Iafc9dd493b97629377e7f7c60ae7adde13427bae
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
Apparently the OpenGL context is not guaranteed to be available right
after showing the window. Wait for it to appear.
Change-Id: Ie3acdb857d4e3a8c6c148c57916a49a58c93a835
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This happened if you moved the mouse while doing a multitouch operation.
More specifically this caused the bug:
1. Open qtdeclarative/tests/manual/pointer/map.qml
2. Rotate the map with two fingers (Do not release fingers).
3. Move mouse (no buttons pressed).
4. Release both fingers.
5. Move mouse again (error: the draghandler has a grab and thus the map is
dragged even if no buttons are down).
This happened because if you moved the mouse while having two fingers
down, Windows would generate a *mouse*move* event with Left button or Right
button pressed (which wasn't the case on the physical device but it's
probably because of a bug in how mouse events are synthesized from touch
on Windows). This caused the QQuickMultiPointHandler to do a passive grab.
Then, when releasing the fingers it would not send a mouse release event
(just plain touch release events), so the QQuickMultiPointHandler would
keep the passive grab it had.
All subsequent mouse move events would then be dispatched to the
QQuickMultiPointHandler where it would assume that the button was pressed
until it got a release event (but button was never pressed so that
wouldn't happen). Eventually it would perform an exclusive grab, and
dragging was initiated.
Change-Id: I42b3133c5fde93c7f92f1cb28705156a69f9ad1c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far it was checking parentContains() on press, release, or when
the gesturePolicy is WithinBounds, but not for each movement when the
policy is DragThreshold (the default). This might explain most of the
remaining warning noise: "pointId is missing from current event, but was
neither canceled nor released" because it was possible for TapHandler
to remember wanting a point that it should not have wanted, but without
taking any kind of grab, and then complaining when that point was no
longer present. Since it did not grab, it did not get the release,
unless the release was part of an event containing a point that it
DID grab.
Fixes: QTBUG-71887
Change-Id: I26ce62279574cf6b0150f24e486f224a604ac6b1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-72822
Change-Id: I2773ba14fcb24a47fe2ec04860b4aa305a051453
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
You cannot keep the context when reparenting the canvas item. Use a
QPointer prevent dangling.
Task-number: QTBUG-73113
Change-Id: Ie7021c6f0bb0d09923eb358dc7e51d6727e74a7a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickItemPrivate::data_append() was not invoked when any kind of
Pointer Handler was directly declared in a Flickable (or subclass)
because QQuickFlickable redefines the default property to be its own
flickableData property. So we need to repeat the special handling
in QQuickFlickablePrivate::data_append() too. The handler must
be added to the private->extra->pointerHandlers vector, so that
QQuickItemPrivate::handlePointerEvent() will attempt to deliver
events to those handlers.
TapHandler seems OK (especially with its default gesturePolicy
so that it does not do an exclusive grab).
PointHandler seems OK.
DragHandler competes with Flickable for the exclusive grab.
pressDelay can help; or set acceptedDevices: PointerDevice.Mouse
to allow the mouse to drag but not flick, and the touchscreen
to flick but not drag.
Fixes: QTBUG-71918
Fixes: QTBUG-73035
Change-Id: Icb97ed5230abe0cb6ec0230b5b5759a0528df7e8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|\
| |
| |
| | |
Change-Id: I1e0bbc35807bd0f7f96694539d2fbec0f83ddb16
|
| |\
| | |
| | |
| | | |
Change-Id: Ic746fbce93430867e2eda4bc7155d34e20a4aa2b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We already emitted grabCanceled() to inform QML callbacks, but we didn't
call reset(). It seems more proper to do everything that would normally
be done when grab is canceled. TapHandler should not give up its passive
grab yet though, because that prevents delivery to any parent Flickable
that might be filtering events. A parent Flickable should be able to
start flicking after the drag threshold is exceeded (it happens to be
exactly when TapHandler gives up).
Fixes: QTBUG-71466
Fixes: QTBUG-71970
Change-Id: Ibba1b0de92cfd88547eeb44edb095d019de76a94
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If multiple touchpoints are pressed simultaneously, each point can
be grabbed by one PointHandler instance. Each PointHandler instance
cannot grab more than one point, nor grab a point that is already
chosen by another PointHandler. This was always the intention, but
got broken (perhaps by 3523b676382db4aa39adeb9126d8bb2185e84403),
and there was no test coverage of this case until now.
Fixes: QTBUG-71431
Change-Id: I6d7614eb4767c677d929291f917cf62d9c03bd93
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add QQUICK_VERIFY_POLISH.
Fixes: QTBUG-73007
Change-Id: I08d90058770ef496469b917892104c751b5cf9c1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Follows same approach as 47f6d256ed in tst_qquickapplication::state().
Change-Id: Ibecdab3f874fc9e75b38ba2ccaf3776bd46c77e8
Fixes: QTBUG-72953
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
Pure QML types do not have a meta object hierarchy associated with them.
The test is only supposed to test C++ types, though. We can ignore the
types without meta objects.
Change-Id: I2a40bc0023f6d335c4dbdbc04818da60f47d8787
Fixes: QTBUG-72637
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When (naively) running the tests with High-DPI scaling active, the
test would assert on mismatching image sizes caused by the scaling.
Add an error message parameter to
QQuickVisualTestUtil::compareImages() for use with QVERIFY2, return
false instead of asserting on format/size mismatches and adapt the
usages. Remove duplicate code in tst_qquickwindow.
Change-Id: I76564f4125798fa1e065a0202b686bc7f5ec5680
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See if this is stable yet. Recent coin statistics seems to say it's
been passing.
Task-number: QTBUG-40856
Change-Id: I49372cc514971acf26ac9b9b9a86ea2eb46a9773
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added <s></s> and <del></del> tag aka strike out to QQuickStyledText.
QQuickStyledText covers the essential text decorations, apart from
strike out. In order to use it, one had to switch to RichText,
which comes with its own overhead and limitations.
<s> for no longer accurate or no longer relevant content
<del> for removed content
Fixes: QTBUG-72376
Change-Id: I3c191d91d57afcc48090facc49d643f8ad708fb4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
During a 2-finger press (to emulate right click on a trackpad), the
OS may also generate a QWheelEvent with ScrollBegin phase just in case
scrolling starts. This must not prematurely deactivate the TapHandler.
Also if a gesture or wheel event begins as the very first event after
an application starts, ensure that subsequent mouse events are not
mis-delivered as wheel or gesture events.
Fixes: QTBUG-71955
Change-Id: Ic12e116483ab9ad37c4ac3b1d10ccb62e1349e0a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QQuickItemPrivate::data_append() was already getting called, but the
assert (that the parent was already an Item) was failing in case a
handler was declared inside a Window or a Dialog.
Fixes: QTBUG-71317
Change-Id: Ia497182e3b4a9722eee97a375f9ee5d4151108e6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If any kind of Pointer Handler is created dynamically in JS by
calling Component.createObject(), QObject::setParent() is called
rather than passing the parent to the constructor, so
QQuickItemPrivate::data_append() did not take care of adding the
handler to QQuickItemPrivate's extra->pointerHandlers vector.
We need to use the auto-parent mechanism (just as we did with
handling dynamic creation of nested Windows in
8cb02e23abbefc9d020707fc1a2d8b6eb4e103b6). Added
QQuickItemPrivate::addPointerHandler() to put the prepend()
and implied setAcceptedMouseButtons() in one place.
Fixes: QTBUG-71427
Change-Id: I3be3dd033c1c89e6e5b5c3463e1a720bbe963281
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
If we change the content height or content width to the initial one, we
still need to signal the change.
Fixes: QTBUG-71684
Change-Id: Idf6e3f89423eab3d8f5310c164c5acc5108e0d8b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|\
| |
| |
| | |
Change-Id: I7623438dde316ae1e97802f91991f2e7ccc205a5
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Latest changes moved to xmlpatterns:
e08f9393acc6417598f328d7f4b7b082c5d57afa
Change-Id: I7e3054a3f0f11833053746294e3b2b958047394d
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/settings/qqmlsettings.cpp
src/quick/items/qquickwindow.cpp
tools/qmlplugindump/main.cpp
Change-Id: I3e5dae4de25b2da961a572b3a4bd151181d211c9
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-60518
Change-Id: If41b3c7b3ca4ca9a48692cbb2753b47492693e83
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|