| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I3647815e507f5d219ea742413372101c15579b8f
|
| |
| |
| |
| |
| |
| |
| |
| | |
The window may have been deleted. In that case there is nothing to do.
Amends commit 73ad6e87bbeceea5830ab3a6b3dc66fa99e30f45.
Change-Id: Ib591f34b51f58d49ed0b065be7025f8e54777c10
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/qml/common/qv4compileddata_p.h
src/qml/types/qqmlbind.cpp
tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
Change-Id: I6a137907e63445f17a3d6181b832a6bd76135bb2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For attached property objects, qmlEngine will not return an engine.
However, QQuickDragAttached's parent is the object to which it is
attached, and from that one we can get the engine.
Fixes: QTBUG-72045
Change-Id: I40748dd11ea3eb4604c37e932b2cfd3baad6fd1f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I2b55bea338aa854d940a6da9b6703866209e6ba6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For example qDebug() << event->asMouseEvent() could crash if the
event is not a mouse event.
Change-Id: I34ffadeb9fc23f42d1d6939190c43a6486eea533
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Calling (de)refWindow can trigger QQuickItem::windowChanged, which in turn
can call a user defined windowChanged handler. If that signal handler
were to call setParentItem, we would encounter an inconsistent state:
The item already has its parent set, but that parent would lack the item
in its children list (as we would only call refWindow at a later point).
Fixes: QTBUG-79573
Fixes: QTBUG-73439
Change-Id: I46adaa54a0521b5cd7f37810b3dd1a206e6a09c6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-79435
Change-Id: Ic99a3b1a9d64426a64117b90a3e11fe99af0d260
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Rename firstVisibleItem() to firstItemInView() to reflect its
behavior, as the comment requested ;)
* Likewise, rename some related variables
Change-Id: I98e25d5d47a4acb56a2b4f2bd75bec062ff770ee
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ib2e477ec29bf352876011adf0aa2cdcf456bd091
Fixes: QTBUG-79541
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Caused by a -1 vs. 0 discrepancy between the QRhi and the OpenGL
glyph caches. width() and height() are expected to return 0 for
an empty image, but this we forgot to honor in the QRhi version.
That returned the width or height of a QSize, and those are
-1 when default constructed. (there are good reasons for that,
it just happens to not match the non-QSize-based code path here)
Change-Id: Idda0d2f77430abea79d4004b765077032e06954b
Fixes: QTBUG-79533
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
...to tell what the default value is.
Change-Id: Icb361b8271f4d81390322f9ce94db6e04b530937
Reviewed-by: Karim Pinter <karim.pinter@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The arguments to renderSceneGraph() were incorrect in the threaded
render loop, unlike basic. Fix it up to follow what we do in the
basic loop. (The first argument is the QWindow size (logical). The
second is only used when rendering via the rhi, and is the output
surface/layer size, in pixels. This will get simplified in Qt 6.)
This fixes broken rendering with Metal and the threaded render loop
for windows with dpr > 1.
Change-Id: I427ba5def8cc34900e6fe650e1006ca5f0fa90a4
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I791adbfce96481aea71bb285e48b89cb5db08e1c
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The "and graphics API other than OpenGL" note is clearly wrong.
All that applies to the RHI in general, regardless of the backend.
Also highlight more why connecting to beforeRendering() is problematic
on the RHI path.
Task-number: QTBUG-79221
Change-Id: I4875ff197f53ecb76c796b35f2ddf28bed1dc12c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I7759f6b60f8fda6525b239c7ee2e034194d4ab85
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The update algorithm wasn't correctly removing all node that
requires removing, as the startPosition is not always up to
date when deleting lines of code.
Instead, figure out the first Node after the changed region that
is clean and keep that one as a reference.
Amends 560a1991ac4524ff16352da23a2b54d717548f33.
Fixes: QTBUG-74745
Change-Id: I4a2c5bd7a673af5cad1850e3a5b703f9554cd7e6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Igor Bugaev <freedbrt@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-77814
Change-Id: I96b8990656117430eb12fc4b294a8ece612d3a4b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/scenegraph/openvg/qsgopenvgcontext.cpp
tests/auto/quick/qquickpathview/tst_qquickpathview.cpp
Change-Id: I117c8d62b21800329d1035021d312d9924f83a1b
|
| |
| |
| |
| |
| |
| |
| |
| | |
emits QQuickWindow::afterAnimating prior to synching changes
Task-number: QTBUG-79084
Change-Id: Ie79d3b8ec912c2e662b2c0745dda442d47d184bd
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We used to ceil x and y offsets on default (AlignHCenter) PreserveAspectFit
image. Consider the follow code:
width = 256;
pixWidth = 255.99;
xOffset = ceil((width - pixWidth) / 2);
It means that we use 1px offset to center an image that is 0.01px tighter
than its view. This actually leads to painting outside of the bounding rect.
Use simple integer division to calculate x and y offsets.
Task-number: QTBUG-79011
Change-Id: I76f2fe3361b820c48202f8f872e2ddb58a65016e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A side effect of 8fd398c9d2f5f54e446e0b402bc63a2edb50da6f is that it
became possible for the highlight to stop between items, rather than
snapping to a specific item, if the user taps, clicks or drags an
additional time while the movement is ongoing. That was because it
didn't get a mouse grab, so it missed the release event.
QQuickPathViewPrivate::handleMouseReleaseEvent() needs to take care of
the snapping behavior after the user stops dragging. This only affects
behavior in the case that the PathView is already moving and the mouse
is pressed again: we assume the user wants to alter the PathView's
velocity, not interact with any delegate inside or with any parent item.
Task-number: QTBUG-77173
Task-number: QTBUG-59620
Change-Id: I7b2f69a6ef8d8022d7c917a5bf9e8fb40c8848db
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit e2df4233a77ce8a37d2c8ef26b7b42fc0d33a24b)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickListViewPrivate::fixup() seems to only do "fixup" if
moveReason != QQuickListViewPrivate::SetIndex
By default, moveReason is set to Other. In the snippet given in
QTBUG-77418, this is why the highlight was respected when resizing the
ListView initially. However, after the currentIndex was changed,
moveReason was changed to SetIndex. When we then resized the ListView, it
still had the value SetIndex, and would fail to "fixup" properly.
Since the ListView preferredHighlightBegin is bound to width, we should
set moveReason to Other in the property setters that are related to
highlight. This is then consistent with how setCurrentIndex() does it (it
similarly sets d->moveReason = QQuickItemViewPrivate::SetIndex;)
Change-Id: I7edf77fc977e8c7e3fc656ff5bb22b4dd01afbe4
Task-number: QTBUG-77418
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a QSGSpriteNode is initialized with a texture, it is supposed to
take ownership of the texture and delete it when the node gets
deleted. In the default backend, this happens automatically: The
texture gets assigned to the node's QSGMaterial object, and the node
has set the OwnsMaterial flag, and so the inherited QSGGeometry
destructor takes care of deleting the material, which deletes the
texture.
However, the Software and OpenVG backends do not have material
objects, so the above mechanism does not apply, and so the texture
objects are leaked. Fix by deleting the texture object directly from
the SoftwareSpriteNode and OpenVGSpriteNode destructors.
Fixes: QTBUG-77019
Change-Id: I503d704f66593ba6a36c969db80f74f715382b6b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- erroneous link to Controls1
- put qtquickcontrols before qtquickcontrols1 in depends statement
Task-number: QTBUG-78799
Change-Id: I8107d9f23660e37c742a588b0efc38ac336babeb
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, an active drop target would remain the drop target until the
drag left it's area, or entered a child item that accepted a
DragEnterEvent, even if the drag entered a drop target with a globally
higher z-order from a different subtree.
When moving to an item with a higher z-order, the DragEnterEvent is
now sent to the new drop target before DragLeaveEvent is sent to the old
drop target. There can now only be one drop target. If an item is the
current drop target and a higher z-order child accepts the DragEnterEvent,
the parent is no longer a drop target.
Fixes: QTBUG-30305
Change-Id: I7b985d6317be70867e7727222a4cd44ace7559e6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a very similar fix what's been done to the widgets to fix
QTBUG-48325. In QQuickWindow there is added the sending of
a ShortCutOverride even when a non-spontaneous KeyPress event
is received.
Task-number: QTBUG-78304
Change-Id: Icb267e611248460533f20e84deef71da6b481cd2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use it in fully scoped form, and treat it as int in qDebug.
Unfortunately since QTextBlockFormat is not a QObject, we can't easily
use Q_ENUM to have moc translate the enum values to strings.
Change-Id: I2eb605e8f2756ce62dcbaffa6bfed237ada4021d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It looked a bit odd that the DelegateModel delegate property was not a
notifying property. Adding the delegateChanged signal makes it easier
to update the view when this happens. The previous approach of removing
all delegates and adding all new ones resulted in the view losing its
currentIndex and often scrolling to a different place. It's also nice
to reduce the number of d-> indirections by adding the
QQuickItemViewPrivate::applyDelegateChange() function, so that we just
need one indirection to call it, and then it updates all the internal
stuff in one place.
Done-with: Frederik Gladhorn
Done-with: Joni Poikelin
Fixes: QTBUG-63477
Change-Id: I2d17fd11ff4a2fcb20968a7182dd2c403abb715a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the event of a graphics context loss, we need to reset the scenegraph
and the GL context.
As all windows share a graphics context a loss detected in one window
needs to reset the scenegraph on all windows.
Change-Id: I3ff1a93d5a08fa21366a6a56e94bd2185aebb2d5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This gives users a more convenient way to determine if a particular
color is valid. Before you had to actually compare with an invalid
color.
Fixes: QTBUG-78325
Change-Id: Id86bc46a48aa11da3e6654d2940d758d2b0e784f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The qt5 submodule update is now done in qtbase, so the code here can
now be migrated to follow the QRhi (private) API changes.
This reverts commit 7661b142a130df54af3a5430a29e3c82da086c7b.
Task-number: QTBUG-78995
Change-Id: I6995cd5e14b75622a51c9e95fb3178485d67d63d
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-78883
Change-Id: Ifcf5af843b5101a35ecc762a6a3b0196b6d97782
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mostly add const &, a few std::move and in particular case, remove const
so the std::move being done over the variable actually has effect
Change-Id: Id611cd31bc012f219d7a17d4626b1c2a5fbddd66
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
...to avoid blocking the next submodule update. Can be restored
afterwards.
There is no temporary compatibility function for the QVector-based
getters in qtbase. This got overlooked probably because it is in a
block that is there in debug builds only.
Change-Id: I3de3f48934e6a31cc14a90f306fddfa04ac56f41
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Follow the QRhi changes that move away from QVector in
QRhiShaderResourceBindings and QRhiGraphicsPipeline.
This, together with QRhi's de-d-pointering of QRhiShaderResourceBinding,
is bringing significant performance improvements for scenes with
a lot (thousands) of unbatched items, since a large number of
allocations are now avoided due to not having to create a QVector of
d-pointered classes just to do a lookup in the srb cache.
Change-Id: I612ab2d9449a9e0ce79f7169b942b95d55af61ff
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Calculating values based on the dpr is not possible in the sync phase,
because the strictly correct dpr (that takes redirections into textures
into account) is not known until QQuickWindowPrivate::renderSceneGraph().
The text material implementation attempts to dig out something directly
from the context's associated surface, but this does not match the way
QQuickWindow calculates the value (although it would work without causing
any trouble in many cases).
This is of course incompatible with the QRhi-based abstraction since
neither the context nor the associated window (if there is one even) is
known to materials.
To solve this, create a proper solution that makes the
QQuickWindow-calculated dpr available already in the sync phase (so in
updatePaintNode() implementations): have QQuickWindow calculate
calculate the dpr in syncSceneGraph(), and pass it down via the
rendercontext.
Only the rhi-based code path is touched in this patch. The direct OpenGL
path could be fixed in a similar manner (by migrating to
rc->devicePixelRatio() in the sync phase and state.devicePixelRatio() in
the render phase), but that is left as a future exercise.
Task-number: QTBUG-78610
Change-Id: Id9d9d4b1fd5b9730a64834fbbf61c74af4a8ed07
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are ways to close the window without hitting the code paths in the
render loops that delete the animation controller. Probably if no frame
was ever rendered.
Change-Id: If3e9d2051525c4ff50eda19084c967578fe4f4b0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
...as this will be done automatically by QRhiSwapChain after the
corresponding QtGui changes.
Task-number: QTBUG-78641
Change-Id: I8edeb728f3aba07bfa6bc6331966fba4bdee71f4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also extend the docs. And while we are at it get rid of
some clang warnings.
Task-number: QTBUG-78669
Change-Id: I4ef15d2d066098ba7bbbd34e80d4e61efe7fba23
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I73d9e896c05f7d944f3092b51a3a95c7e6e284b8
|
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-78784
Change-Id: Idc156088fdae4782b4970c3211b8248f8c333e9a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Having neither a list of all possible modifiers nor a link to
Qt::KeyboardModifier was inconvenient. Clarify that bitwise OR
results in logical-AND behavior, while having multiple handlers
results in logical-OR behavior, and that a switch statement in JS
allows you do anything you like with modifiers. Fix the manual test
to test the switch statement and deal with the fact that
point.event.modifiers is undefined: TapHandler can use
eventPoint.modifiers, but any DeviceHandler can use point.modifiers.
Fixes: QTBUG-78234
Change-Id: Iba2a03950aa1279ef454cc76fc8de1b2dab14dfb
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-78307
Change-Id: I71bc58ba5e4d930167f56a264e20b352244502a3
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Qt Quick will not receive "uninteresting" stationary touchpoints, but
only those in which some property has changed. So MultiPointTouchArea
should react to stationary touchpoints in the same way as if they moved,
so that UIs can react to changes in touchpoint velocity, pressure etc.
And QQuickWindow has to be willing to delivery stationary touchpoints
to make this possible. However when a QTouchEvent is customized for
delivery to a specific Item, by including only the touchpoints that
are inside the Item, then if those touchpoints are all stationary,
the event only needs to be delivered if at least one of them is
an "interesting" stationary touchpoint. So we need to depend on
a new per-touchpoint flag that QGuiApplication will set when it
discovers that some property of the touchpoint has changed. That is
QTouchEventTouchPointPrivate::stationaryWithModifiedProperty.
Fixes: QTBUG-77142
Change-Id: I763d56ff55c048b258dca40d88283ed016447c35
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In 341ab7708049b1a3f559b76f16393e688951a938, an internal
QSGDynamicTexture::QSGDynamicTexture(QSGTexturePrivate &dd) constructor was
added, which means QSGDynamicTexture now doesn't have a (formerly implicit)
default constructor anymore.
Fixes: QTBUG-78312
Change-Id: I34a918942d87ca522aa7131580b9e08a1445d635
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change 5d995ae122aa07486ead849560b74d2b62b883bb did not make the actual
QQuickImageBase::currentFrameChanged signal accessible to the Qt Quick
2.0 revision. Normally the QML engine would implement a JS
onCurrentFrameChanged handler by connecting to the currentFrame
property's frameChanged notifier signal; but in this case it tried to
connect to the explicit QQuickImageBase::currentFrameChanged signal
instead (because the name is a better match), and failed because of the
revision. So we need another duplicate unrevisioned signal
QQuickAnimatedImage::currentFrameChanged for use when the import is less
than Qt Quick 2.14.
As pointed out during review, an autotest for the revisioning is good to
have anyway.
Fixes: QTBUG-78713
Task-number: QTBUG-77506
Change-Id: I121508acac81d47e3c0a4c0ed12257c10b30970b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If enabled is false, then containsMouse will not become true when
hovering on mousearea, even if hoverEnabled is true. However when an
invisible mousearea become visible, the value of enabled isn't
checked. In this case, the value of containsMouse is not affected by
enabled.
[ChangeLog][QtQuick][QQuickMouseArea] containsMouse property will
not become true when the an invisible mousearea become visible, if
the enabled property is false or its parent item is not enabled
Fixes: QTBUG-77983
Change-Id: I923bdcf3eda813aea51a04515d530093d6eb77b2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A side effect of 8fd398c9d2f5f54e446e0b402bc63a2edb50da6f is that it
became possible for the highlight to stop between items, rather than
snapping to a specific item, if the user taps, clicks or drags an
additional time while the movement is ongoing. That was because it
didn't get a mouse grab, so it missed the release event.
QQuickPathViewPrivate::handleMouseReleaseEvent() needs to take care of
the snapping behavior after the user stops dragging. This only affects
behavior in the case that the PathView is already moving and the mouse
is pressed again: we assume the user wants to alter the PathView's
velocity, not interact with any delegate inside or with any parent item.
Task-number: QTBUG-77173
Task-number: QTBUG-59620
Change-Id: I7b2f69a6ef8d8022d7c917a5bf9e8fb40c8848db
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I7783ed26a66f03ebe3b26bcba2f42f9fff45a417
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
|