| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes handling of hovered so that the property is still updated on
disabled items, so that other items can bind to it. This is in
particular useful for tooltips.
[ChangeLog][Behavior Changes] QQuickItem::hovered will now update even
when the item is disabled.
Fixes: QTBUG-30801
Pick-to: 6.0
Change-Id: Id17298f657d7631b0e5019138ba33a7d5f863475
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
Remove all qmake project files, except for examples which are used to
test that qmake continues to work.
Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When binding a Shortcut to a standard key sequence like
QKeySequence::FullScreen, it binds only to one key
sequence, even though there might be multiple key sequences
associated.
This patch changes the code to emit a warning in this case
and allows to bind to multiple key sequences using
'sequences: [ <key> ]'.
Fixes: QTBUG-88682
Pick-to: 6.0 5.15
Change-Id: I88998aa8858d8f2c0c86e46bae94afd7ceb15b66
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing events as objects or references in signal parameters requires
copying, and we removed the broken copy semantics from QEvent for Qt 6
as much as possible.
QVariant::fromValue still allows creation of a QVariant from a type
that doesn't have a (public) copy constructor, which is why this
passing of a QWheelEvent through a QVariant to QML went unnoticed.
While QWheelEvent is a gadget and thus supposed to be invokable from
QML, it's still a QEvent. Most QEvents are not gadgets - like QKeyEvent,
QMouseEvent, QTouchEvent. We have QQuick*Event QObject wrappers instead
to provide access to the low level event data from QML.
So, use a single QQuickWheelEvent object instead to pass the data to
QML, that class is designed for exactly that prupose. We need to copy
the data anyway, and since we don't need to create/destroy the wrapper
object for each event, this has no practical overhead.
Extend the QQuickWheelEvent to provide access to the phase information
of QWheelEvent as well, and simplify the reset() method.
Note: making the QQuickWheelEvent store the QWheelEvent directly would
allow passing calls to setAccepted through to the QWheelEvent. That
is left for a future cleanup, and another reason for not passing events
around as copies.
Fixes: QTBUG-89594
Pick-to: 6.0
Change-Id: Id86a9b30c5a8c7c50091e464e368568a7f5ca2ea
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Flickable.flickDirection == HorizontalFlick, then if the accumulated
QWheelEvent::pixelDelta()'s abs(dx) > 2 * abs(dy), clearly the user is
trying to scroll horizontally; otherwise, don't accept the event.
That way the event is allowed to propagate to a parent Flickable that
does allow flicking vertically. Likewise if the nesting is the other
way around, only allow the inner vertical Flickable to accept if the
flicking is actually vertical.
Fixes: QTBUG-57245
Fixes: QTBUG-80236
Pick-to: 6.0
Change-Id: Ieb0bf9310a67210ce7e9fe7a80c88baef2cc7ede
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
| |
Change-Id: I1c81f1190386a9f7260a6e64862946f648cb6981
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If state contains revert action of properties of deleted objects,
we should avoid adding them to apply list
Fixes: QTBUG-85106
Pick-to: 5.15
Change-Id: Iff57eb9958a054476096f6d951ab7390277a2b39
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickText attempts to reduce relayouting. However, it was a bit to
aggressive in doing that. If only the width changed in a geometrychange,
it would not relayout if widthMaximum was true. However, if the width
goes from 0 to greater than 0, the value of widthMaximum should have
actually been false (but we would only notice this after relayouting).
Thus, don't skip relayouting in that case.
Amends 56ade46b4234bb828b8e4f9a6bf83b5687bd122e, which fixed the same
issue, but for height.
Fixes: QTBUG-83408
Fixes: QTBUG-33608
Pick-to: 6.0 5.15
Change-Id: I14b610c703eb0496c71de7b12ad9fcf16842af64
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
Introduce a QSGOpenGLTexture::fromNativeExternalOES() function
which internally passes in the flag QRhiTexture::ExternalOES
when creating the wrapping QRhiTexture.
Change-Id: I919e2539304d3aeaa6bc8e5953d96adc810abb12
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
A while ago, QQuickShortcut was extended to not only have a shortcut
m_shortcut but in addition a list m_shortcuts. During this extension,
the setContext method was missed: Shortcuts in m_shortcuts are
not re-grabbed on context change. This patch fixes this.
Task-number: QTBUG-88682
Pick-to: 6.0 5.15
Change-Id: Ie73d516f2a325a328b6e975d69490eea29a18401
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: I20ff922136018960371ef00c6aa5c30d29c25690
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only place where it was still used is QQmlOpenMetaObjecType. The
only effect of QQmlCleanup is that clear() is eventually called by the
engine. In the case of QQmlOpenMetaObjectType the only effect of that
was that the "engine" member was reset. However, the only place where
that member was used was in setCached(), and in that place it was
irrelevant. There is no reason why setCached() should be prohibited when
there is no engine. We may be worried that the property cache assigned
to the open metaobject might go away somehow if there is no engine, but
the cleanup mechanism clearly demonstrates that checking for the engine
on setCached() does not protect against this.
Fixes: QTBUG-90004
Change-Id: I05445eaeb53a64c70de366090ea2ee4aecf2bad8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Doc Using the Qt Quick Particle System did not contain
links to examples.
Fixes: QTBUG-29378
Pick-to: 6.0
Change-Id: I82e3a3af4925f7c8e58ce6a5c5af57b854cb9e36
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
| |
When removing items from groups actively shown by a model filter a warning
and assert was triggered in the past. This change fixes this behavior.
Fixes: QTBUG-86017
Change-Id: I49b7498a3d03141b654e453a3c35a43fc7ba804a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Removed in dfb36c91b401308f74a5bc635f9a77ba2f9872a0
Change-Id: I56bd239f068e51950cbe8b5d3df6fea92156d7fe
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The existing docs were inherited from
PointerDeviceHandler::acceptedDevices and contained the statement
"By default, this property is set to AllDevices", which is true for many
handlers, but not WheelHandler.
Fixes: QTBUG-89861
Change-Id: I5227037ffbecedc8fdd19750e60c421383ec5581
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
| |
Change-Id: Ib675bfaa3fd818ef3e372bc2affd87e0d9d8f480
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
| |
Change-Id: I3ce4494e9dddc9bf933793b354dc43494b3c84ef
Fixes: QTBUG-89561
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
| |
As opposed to being local to the item's parent.
Pick-to: 6.0 5.15
Change-Id: Idcf2cdbedcac24a6890ce761c3f2a23f2c7a8dc4
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This way any potential logic in the platform plugin that branches
based on the surface type can now distinguish between OpenGL and
D3D based windows.
Fixes: QTBUG-89715
Change-Id: I01e9f8a525280982a9d4a18defb970e8a2fcc362
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We quietly recommended calling setAcceptTouchEvents() in the Qt 5.10
release notes in any Item subclass that wants to receive touch events,
and in the docs for setAcceptTouchEvents() itself; but the message about
the impending behavior change might not have been obvious enough.
In Qt 6 it becomes mandatory, so clearer docs will hopefully help to
stave off bogus bug reports.
We also never had a great overview of event handling from an Item's
perspective; now it's a little better.
Followup to ab91e7fa02a562d80fd0747f28a60e00c3b45a01 and
a97759a336c597327cb82eebc9f45c793aec32c9
[ChangeLog][QtQuick][QQuickItem] When subclassing QQuickItem, you
should call setAcceptTouchEvents(true) if you need the item to receive
touch events. It will be required in Qt 6.
Pick-to: 6.0
Pick-to: 5.15
Task-number: QTBUG-87018
Task-number: QTBUG-87082
Change-Id: I1c7a43979e3665778d61949c9d37c1d085ed594b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Already inspected objects should not be skipped when determining their
properties, as recursive call will always have different base name for
the properties.
Internally we don't need inspectedObjects list at all anymore, but
it's kept to avoid changing API and in case the caller is interested
in inspected objects.
Fixes: QDS-3301
Change-Id: I76198b96d420e2a5ae6b13cfee65df4bce22d8f5
(cherry picked from commit 5e0ba6b797ca7843609fc19d8c4c96f6f26aacd2)
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Q_MOVABLE_TYPE was conceived before C++ had move semantics. Now, with
move semantics, its name is misleading. Q_RELOCATABLE_TYPE was
introduced as a synonym to Q_MOVABLE_TYPE. Usage of Q_MOVABLE_TYPE
is discouraged now. This patch replaces all usages of Q_MOVABLE_TYPE
by Q_RELOCATABLE_TYPE in QtDeclarative. As the two are synonymous, this
patch should have no impact on users.
Task-number: QTBUG-86829
Change-Id: I5bb418483a3b06619abb4ff62cf0290a7b3bcd4f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
And fix up some incorrect qmake project files
Pick-to: 6.0
Change-Id: Ia6d27ac68195635021fe7c4a5f06386a60f3f323
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
By showing the tableview, we can be sure that headerviews will be
visible even in the syncView has an empty model.
Fixes: QTBUG-87526
Change-Id: I68c8b119122a2d2f88c2afbeb2d6c71a83a3ce33
Pick-to: 5.15 6.0
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
| |
If the opengl feature is disabled, t is not used. This caused build
failures due to -Werror=unused-parameter
Change-Id: Ic39703dfb540d15295811484ad3793b639dc6b9c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wheel momentum is great on old "clicky" mouse wheels: they feel really
clunky without this feature. But it's also terrible on most laptop
touchpads. We still aren't generating QWheelEvents with pixel deltas
and ScrollPhase on most platforms (still only on macOS); but eventually
we should. However, those laptop touchpads tend to generate angleDeltas
that are not multiples of 120.
Added logging categories qt.quick.flickable qt.quick.flickable.wheel
and qt.quick.flickable.velocity.
[ChangeLog][QtQuick][Flickable] Flickable now tries to detect whether
you're using a "clicky" wheel on a desktop mouse. A laptop trackpad can
generate QWheelEvent::angleDelta values that are not multiples of 120;
in that case, smooth scrolling with momentum is disabled, to avoid
losing control of scrolling. Set the environment variable
QT_QUICK_FLICKABLE_WHEEL_MOMENTUM_ENABLED=0 to opt out of the old
behavior entirely, or set it to 1 to opt in unconditionally.
Pick-to: 6.0
Task-number: QTBUG-38570
Task-number: QTBUG-56075
Task-number: QTBUG-80720
Task-number: QTBUG-82565
Change-Id: I0da2d31259fa1c79ab217a3fa9e888893fc7b235
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.0
Fixes: QTBUG-88604
Change-Id: Id84faf648656993777f780e147917151ce05d3e0
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-73058
Pick-to: 6.0
Change-Id: Ie72c1f4331ad05f31d9a646730133c97c4b15790
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assigning objects to signal handlers can be convenient, as seen in the
examples which use it together with ListView.onRemove.
However, that convenience makes it hard to reason about what actually
happens. Moreover, the only user of that functionality are the Animation
classes, and the usage of DefaultMethod is not documented anywhere.
[ChangeLog][QtQml] Assigning an object to a signal handler is deprecated.
Instead, create the object, give it an id, and call the desired slot
from the signal handler. For instance, instead of of
ListView.onRemove: SequentialAnimation {...}
use
SequentialAnimation {id: removeAnimation; ...}
ListView.onRemove: removeAnimation.start()
A warning will be printed whenever an assignment of an object to a
signal handler occurs. The warning can be controlled via the
qt.qml.defaultmethod logging category.
Change-Id: I001ddf4d7933871977f84a5e012d020fb043cc64
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
This time, the ValueTypeFactory gets converted. As a consequence, many
callers get touched again.
Task-number: QTBUG-88766
Change-Id: I3a8b7d5cfeb7fac85daf1702febba205971d4256
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Documentation links to qtshadertools. This patch adds qtshadertools
to the dependencies so these links can work.
Pick-to: 6.0
Change-Id: Icb059fd681e7456f3452aeba60287bfa1cc3539e
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If the qApp we have is in fact not a QGuiApplication we cannot
connect those signals. The "if (qApp)" was probably supposed to check
for this but actually doesn't because qApp is a static_cast.
Pick-to: 6.0
Change-Id: Iaa30e3d56768e97601d51d30500fc3b12d0626a3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The documentation on High DPI was recently rewritten, renaming
several sections. This patch fixes the links which were broken
by this change.
Task-number: QTBUG-88533
Pick-to: 6.0
Change-Id: I30c1f801f93773e04f85d7ebb3603fafa8f4f2a0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consider
Flickable {
Text {
TapHandler { gesturePolicy: TapHandler.ReleaseWithinBounds }
}
}
On press, TapHandler gets the exclusive grab. Now drag vertically.
The Text is short in stature, so your finger soon strays out of bounds
of the Text, likely before you have dragged past the drag threshold.
In this case, we want Flickable to continue to filter the move events
because of the fact that TapHandler is the grabber. If it was a
MouseArea instead of a TapHandler, it already worked that way; so this
makes behavior of handlers more consistent with that.
More specifically: QQuickPointerTouchEvent::touchEventForItem() now
generates a touch event even if the touchpoint is not within the bounds
of the given item, but is grabbed by one of that item's handlers. Until
now, we had that exception only if it was grabbed by the item itself.
tst_FlickableInterop::touchAndDragHandlerOnFlickable now always drags
the delegate at index 2 (the third one) from its upper-right corner,
upwards and to the left. The first drag goes outside the delegate's
bounds, but the Flickable/ListView/TableView filters and takes over
anyway (on the next drag), to prove that it is correctly depending
on the grab that the TapHandler (or DragHandler) took on press.
Pick-to: 5.15
Pick-to: 6.0
Fixes: QTBUG-75223
Change-Id: Ie4e22c87be0af9aa3ff0146067b7705949b15c40
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Contrary to the documentation, Animators have always had the requirement
that an explicit from value was specified, which isn't very convenient
e.g. in Transitions.
This patch was tested against a (quite big) real world customer
application using Qt 5.12 and Qt 5.15.
Also a new unit test was added to test this feature.
I couldn't find another way to access the actual AnimatorJob besides
querying the window's AnimatorController, so I had to add an auto-test
only export on that class.
Task-number: QTBUG-66475
Pick-to: 6.0 6.0.0
Change-Id: Icc2a220a13f587d69594a4b2ed345abf0438e29e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the property lineHeight is used to reduce the line height, either by
setting a proportional factor smaller 1.0 or a pixel size smaller than
the font size, the offset calculated in lineHeightOffset is not taken
in to account to calculate the height properties. But the offset is used
to position the the rendered text. In the current implementation the
property lineHeight does not have an effect on single line texts. This
change takes that into account and adds lineHeightOffset to all height
properties.
Fixes: QTBUG-88229
Change-Id: Iab7d9b39a4c7876c7c95e43be6846623c10b0607
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are legitimate cases for using the private class, the number one
case being Design Studio where QQuickRenderControl and QRhi are used
together. At the moment things work presumably because only member
variables are accessed, and that works even in builds that do not
have the member functions exported. Fix this up to be future proof.
Pick-to: 6.0
Change-Id: I054deb31607ca8c95fccb2f5988dde6f0a9c372a
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
-recommend using the import statement without versions for Qt 6.0
-update use of \qml snippet without \QtMinorVersion
-some language change to be neutral about versions
Task-number: QTBUG-87155
Pick-to: 6.0 6.0.0
Change-Id: I3ac44f93aab3086c1a49de79ecc677beb4ef9180
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: Ic8b2fa8333fdc6aae051f3b2faa3a0c0ecad9ad5
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
- Add missing dependency to qtquick3d
- Remove qtscript, qtquickdialog dependencies
- Use multiline formatting to have a clean git history of dependencies
Pick-to: 6.0 6.0.0
Change-Id: If79df67ef14cce4156cd24042725e56654da4444
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
There's nothing new in those, leave the space on top to more intersting
stuff.
Pick-to: 6.0 6.0.0
Change-Id: I9c349393b073e80155db594f6777778f31efdf02
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
-recommend using the import statement without versions for Qt 6.0
-update use of \qml
Task-number: QTBUG-87155
Pick-to: 6.0 6.0.0
Change-Id: I555d582a13006c5abb6dc1e0266d2987ba79c6d8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Just use a function because the private and impl classes for
QQuickShaderEffect do not have their own headers.
Change-Id: If5070aeb8c2b07b9b7e2cf3e16071ee2af2e368b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
| |
Change-Id: Id542b473c1596f9933cdef747f7fe329988618d4
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I05e3f804af3668235f97cebc54e1904a90092385
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.0
Fixes: QTBUG-88761
Change-Id: Ia5df65a4a09a7554a7d0cca4533f766cb5abe97b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
| |
This ensures that the memory is freed reliably
Fixes: QTBUG-88807
Pick-to: 5.15 6.0
Change-Id: I841a5a2b226a69ce50975d95702a948857d1b54f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
In case of enabled accessibility, whenever the geometry
of a QQuickItem changes, accessibility module is notified
by a LocationChange event. This enables responding to this
by for example moving the accessibility frame on the screen.
Task-number: QTBUG-79611
Change-Id: I808e835384ef42bba2e9aabecf4be3cda07859fe
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
| |
Since QEvent::clone() overrides return the type that they clone, calling
it on an already downcast pointer doesn't require another downcast.
Change-Id: Iba957f67a3b6c45cbd59e9978dc92ed5eb5db6c0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|