| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Fixes: QTBUG-114715
Change-Id: I7b5821820ba582fb21eaa56e3cf102fc3d61be00
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 9c33258ff56f4028a62c13fda866452bdb9caf38)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compressed texture image is supported by qquickimage and
the qquickninepatchimage is inherited by qquickimage.
But the compressed texture is not shown when the source of
qquickninepatchimage is set as compressed texture because the
updatePaintNode of qquickninepatchimage only consider non-compressed
texture.
This patch is not intended to use the HW compressed image as an
actual 9-patch image, but to display them using the super class
qquickimage in the case of an HW compressed image other than a normal
pixmap image.
If the source is HW compressed textures such as ASTC, KTX, and PKM,
we have to call updatePaintNode of QQuickImage before checking the
validity of the pixmap image.
(because nullptr is returned if pixmap image is not valid)
The containers themselves (pkm, ktx) are universally supported but
the compressed texture formats is up to the underlying 3D API
implementation and may vary.
So, if the format is not supported by RHI, we skip the test.
Refer to QTBUG-113565 for a detailed discussion on texture formats.
And when using the software backend, we also skip test cases.
Fixes: QTBUG-113446
Change-Id: I2704f86e94b50b3c187eca359fdc1a69eb217811
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit ed69a9d4f3e889b05548e7cebe957afc3a3e577f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Flickable has an exclusive grab (e.g if it's being dragged), and
at the same time, a child has a passive grab (e.g a TapHandler inside
a child of the content item), Flickable ends up getting the same pointer
events twice.
The reason this happens is because Flickable has a childMouseEventFilter.
So the flickable will first get all the pointer events since it has an
exclusive grab, just to see that the filter will receive the same
events once more, as they next are delivered to the passive grabbers.
The result is that Flickable will handle all pointer events
(move, release etc) twice when it has en exclusive grab, which will
even cause the flickable from stop flicking prematurely if the mouse
release ends up outside the bounds of the flickable (because of a double
call to handleReleaseEvent(), which will set stealMouse to false too
early).
To fix this, this patch will make sure that we don't handle any pointer
events in the childMouseEventFilter if we already have an exclusive grab.
After all, having an exclusive grab means that we're already getting the
events the "normal" way, and shouldn't handle the same events once more.
Fixes: QTBUG-104987
Change-Id: Iaed49cb860cf50ea38a70a6e546d9dcf25cce444
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 1bac9de1136c8d52650199f9defefae2f1d6a1a5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qtattributionsscanner now uses a non-zero exit code
when 'Files' points to non-existent file(s).
Fix the documentation build failing with
src/quickcontrols/material/qt_attribution.json:
Path 'ElevationEffect.qml' does not exist
Change-Id: I978811b06afce5496443afec1e21138bbc9249e9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
(cherry picked from commit c796092f638eec28382346669a9b05f9508c8301)
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If there are multiple moves between touch down and release,
but they are merged, or if there is only one move,
flick occurs but no movement signal is generated.
So, send movementStarted if the view is moving in
handleReleaseEvent
Fixes: QTBUG-112924
Change-Id: I774799bac2a00296a72005dcfa9ade6683836d08
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit e6a363efe86dd6acbceade28d5eddbdca9c7b805)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pinchHandlerOnFlickable fail with QTBUG-112924.
Blacklist it for now.
It will be handled in QTBUG-113226
Fixes: QTBUG-113226
Fixes: QTBUG-112924
Change-Id: I58c646f957fb6f397405dc477d00eee770602e80
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 407675b1913a5138c636a730cf3f6a65ffed87fb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Should have added a note about this in Qt 6.0 already.
Task-number: QTBUG-111012
Change-Id: I650abdb69d4f1dd6aff6d8e84970fc5e91384f02
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 284238bcc4d831748d6a8b50057caa5463716266)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cross-compiling (using Clang-13) for Raspberry Pi OS on Raspberry Pi 1
and Zero, requires adding "-target arm-linux-gnueabihf" to the compiler
flags, which defines macro __ARM_ARCH_6KZ__ to detect for armv6.
Fixes error:
qtdeclarative/src/qml/../3rdparty/masm/wtf/Platform.h:312:6: error: "Not supported ARM architecture"
More details: it turns out that the already checked macro
__ARM_ARCH_6ZK__ is a typo with significance because older versions of
GCC only had this. On the other hand __ARM_ARCH_6KZ__ (that this patch
checks for) is the correct spelling, and it's the only one defined by
Clang. Newer versions of GCC define both.
Change-Id: I60532bfcaa62677f88ed2cff05d872a14c4c2111
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 35d6c73620761609e21b835211c67cff7829b44d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cursor position update on mouseReleaseEvent broke
touch-and-hold word selection on touch devices. Now only do it
if we don't have an active selection.
Fixes: QTBUG-111504
Fixes: QTBUG-110850
Change-Id: I5c63d8516d1eef3de10289c6d5c5b3d1d3e8623f
Reviewed-by: Sami Varanka <sami.varanka@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit d6ddfa3d4ca3fbbaddc2acd7ebe3f8296fc68b68)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lazy loading of stack layout causes incorrect index value in the
attached property for the child items. This is because,
attachedProperties are created and updated for the child object, after
being added to the stack layout.
This patchset triggers childItemsChanged() to reset child objects of
stack layout with right index value.
Fixes: QTBUG-111902
Change-Id: Iad06d028d0f977189b5da1122904dc754060a609
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit e397e5b43c9a9844e652adf5ef55365e0a40f57b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TableView uses QQuickTapHandler internally to handle tap events. This
handler accepts tap events considering pointerNavigationEnabled property
of table view. TableView accepts mouse events if either 'interactive'
or 'pointerNavigationEnabled' property is set as true, otherwise, it
has to pass mouse or touch events to the below item.
This patch introduces QQuickTableViewTapHandler inherited from
QQuickTapHandler that can explicitly check pointerNavigationEnabled
property of QQuickTableView during wantsEventPoint to either accept
or ignore tap events.
Fixes: QTBUG-108596
Change-Id: I330ae319706b6dbadc3a7319f62d636708aab995
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 79d61b3ab7fcc75454b81d5e78d4f404a9c4bd6c)
|
|
|
|
|
|
| |
Change-Id: I465f166855955b027b0ce4ba3d09f9fcf994bc1f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 66b63ddaa213d423a9e1b5edbc3c61a959dae572)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the top-level 'Import Types' \section2, which is redundant, as
there's no second section. This makes sure that the structure of the page
is better represented in the side-toc (online version), as it only
lists headers of level 1 and 2.
Change-Id: I8a214db6745c9d3054e1aa4277b55b911b605218
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
(cherry picked from commit 2f56e243b0ae49afb2ff1653f7ad0e2e047f322c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the management of the to-be-released textures up to the
rendercontext, so that the glyph cache objects do not need to
care about this. Issuing a delete(Later) on the QRhiTexture in
the glyph cache is too early if there is no visible text item
in the scene that's going to commit the resource updates
collected on the rendercontext's QRhiResourceUpdateBatch.
Instead, it is logical to move also the list of pending-release
textures to the rendercontext, since it already has the update
batch object.
Fixes: QTBUG-111995
Change-Id: Ic4309166f265950a7061ae510567ce677c4943df
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit e9c0b15060e0b70f70857d02029d6ebed95c0abf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-95807
Change-Id: I0676fdb9bd7e8312d736bf0f4eb6775415d86296
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit 3bc05bf7f422fccd8c29bd1eb1376c37264d31ee)
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The example should use &engine, not &app.
Fixes: QTBUG-111881
Change-Id: I434fc602a9f945f3e18b5289f548864c2e9f27e5
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 8ab0cd63b85ca9ba7b03ef89bd328bb38fd7c039)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If geometry without an index buffer becomes a batch root, it should not
be merged with other geometry since an index buffer is required for a
merged batch.
This should not be very disruptive, as this can only occur under
very specific circumstances anyway (custom QSGGeometry used in a scene
in a particular order).
Fixes: QTBUG-97557
Change-Id: I6b3845fb988a4bfe2a6f989801741246b8f4fb37
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit f9e95c9d447f8b4223ce02e7ddf6c4ed0bfc5ec9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Guard the callers of the deprecated APIs with proper macros,
otherwise they will case compilation errors when deprecated APIs
from qtbase are disabled.
Change-Id: Ie25e7424aaccf7175c839ecddbd326a7a5649709
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit e70706de7defb8d0e069020f109f0689215548bd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Subclasses of QSGRenderContext are responsible for releasing the
resource tracked by the render context on invalidate. I'm not sure the
software context will ever have any other resources than QSGTextures,
but it doesn't hurt to try and release everything anyway.
Fixes: QTBUG-106968
Change-Id: I58902e1a33c0d3d101e39af3e5f0a18d6820ce98
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit f1b188df132c42da62197055725e5f7eebcc4249)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many of the inherited docs were inappropriate or insufficiently specific
to PointHandler. Now we have more snippets with more ideas for how it
can be used.
As a drive-by, fix a typo in the docs for
PointerDeviceHandler::acceptedPointerTypes and add a link to the new
PointerDevice page added in e283c05af745210d4a1f6c0aa9c33bf4da23a1e0
Fixes: QTBUG-74020
Fixes: QTBUG-106878
Change-Id: I028e1577ac5d4ef0b927c94259d6ab25b6028885
Reviewed-by: Doris Verria <doris.verria@qt.io>
(cherry picked from commit 4c6d0b2bf09329dd8b036761f8f2924f54af3a07)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Developers can easily break QDS .ui.qml files if they edit them
as code. Link to the description of UI files in QDS Manual.
Fixes: QTBUG-110354
Change-Id: Id5dc0e9fd420e0e4807a39d4f8d7d121e5137636
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
(cherry picked from commit 5fabb872e0041aaf134b33e140d8f8512c31455b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QML Loader creates multiple object of same component during initial
loading, if sourceComponent is assigned within state configuration
and it evaluates to be true. This happens due to the effect of
evaluating stage change (here in this case, setting loader source
component) during component completion which internally creates
component object and makes loader status be ready, even before
Loader instantiates object.
This patch adds a guard to check loader status and avoids object
creation if status is already ready.
Fixes: QTBUG-111559
Change-Id: I6c3456cd3bc35a717c139fbd3670c305304f480a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 492dc98a288763d3d026e9557ffadc018cede350)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up mixing of C++ and QML types in QML documentation.
Also properly interlink ColorGroup, Palette documentation.
Fixes: QTBUG-110776
Change-Id: I4f9990923589cfc164cc69fca6f6a733c0139670
Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
(cherry picked from commit 7461408a7d9df209ec608a6053fe0da2f513a2cc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a ShaderEffect did not have any shaders, we would
register a "fake" bindPoint for the 'source' property with
bindPoint 0. However, when actually linking the default
shader program, the actual bindPoint is 1 (also matches
what is in shadereffect.frag).
When the property corresponding to the source updated, we
would thus register an update for binding point 0. The
initial value for binding point 1, from when the shader
effect was loaded, would never be overwritten and when we
iterated over the variables later and tried to cast do a
qobject_cast on the (initial, now dangling) pointer stored
for binding point 1, it would crash.
Fixes: QTBUG-110111
Change-Id: I96c3e81908db8cce682b5447800fcb7a3fe5e0b9
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit f70844868a834fe988eb0716f6af4cbaacf89727)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-111566
Change-Id: Idf3d5fd140f2b69215844ff25b24bfc2abfc14b1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 925c6b06b17e78f125cc5119efe702774298b154)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
People are constantly confused by GesturePolicy and its default value,
so we really need a "glanceable" reference in the docs to show the
differences between use cases.
Also clarify the pitfalls with the default DragThreshold value.
We switch from the \value tag to a 2-column \table because the \image
would otherwise break the table, and also because it saves space and
acts as a meaningful reminder to have the animation right under the
enum value that is being documented.
Task-number: QTBUG-70397
Task-number: QTBUG-73262
Task-number: QTBUG-100534
Task-number: QTBUG-107239
Task-number: QTBUG-111310
Change-Id: I1ff45f58a8a8edf55f4a8696d881aa9e0bedcfe3
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit a6e196ce9cd327df53ef9b9db3020f7775ee1754)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need a link target for the GrabTransition enum argument in the
PointerHandler::grabChanged QML signal doc, and a few other places.
Fix warnings about failing to link in a couple of places.
Fixes: QTBUG-102160
Task-number: QTBUG-104761
Change-Id: I92a544d363a6ff9e990c7d56c110bc5db1202bb3
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit e283c05af745210d4a1f6c0aa9c33bf4da23a1e0)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A singleton cannot be marked as internal – the qmldir parser cannot
even parse such a declaration, and the runtime would have no idea how to
deal with such a type.
The cmake code so far generated two entries – one line where the type is
a singleton, and the other one where the type is declared as internal –
with the end result that the type was not treated as a singleton, at
least not by qmllint.
Once the engine actually supports internal singletons, we would need to
adjust the qmldir file to have singleton and internal in one line.
As that's not supported so far, we now simply error out with a fatal
warning.
Task-number: QTBUG-111532
Change-Id: Idf0843c5548b15f79700a45b4197c256a6dda5cd
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 10a310c089e0d9731067abd6bb56771b51719043)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
It was used in the code snippet, but we didn't explain so far why it was
there.
Change-Id: I53005d897f4a3732b7707c7cc0e88f2842ca7433
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
(cherry picked from commit a703701394820fcfffb544a5bf7c464410cdc0a2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The interpreter does this and so should the enum lookup adapter for
generated C++ code.
Fixes: QTBUG-109816
Change-Id: I576480c3ca808743ddc0ceaf2f0bd8a1de776a41
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 8cbb30a650c2a2c8fb4b8cc39f347ff370850e74)
|
|
|
|
|
|
|
|
|
| |
Mouse buttons are irrelevant to PinchHandler, of course.
Change-Id: Idfe65d3408ff3a33314979174a886f3e51f2eb7b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 69fa61a11f4689246e8d5ce8edfbeae41dfa08b2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Like acceptedButtons, HoverHandler.dragThreshold is irrelevant.
Task-number: QTBUG-95395
Change-Id: I059e99449cff946b2caa945022b1f4bd4d2f845b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 17e8e21511ce3f5a2cc764655f12355454ae0522)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By simply adding std::move() to the variables we've received by value
and aren't using again, thereby also improving performance slightly.
The message was:
In static member function ‘static void QSharedPointer<T>::deref(Data*) [with T = const QQmlJSScope]’,
inlined from ‘void QSharedPointer<T>::deref() [with T = const QQmlJSScope]’ at qsharedpointer_impl.h:440:12,
inlined from ‘QSharedPointer<T>::~QSharedPointer() [with T = const QQmlJSScope]’ at qsharedpointer_impl.h:280:30,
inlined from ‘QDeferredSharedPointer<const QQmlJSScope>::~QDeferredSharedPointer()’ at qdeferredpointer_p.h:45:7,
inlined from ‘QString QmltcCodeGenerator::generate_typeCount(Predicate, const InlineComponentOrDocumentRootName&) const
cc1plus: error: pointer may be used after ‘void operator delete(void*)’ [-Werror=use-after-free]
In static member function ‘static void QtSharedPointer::ExternalRefCountData::operator delete(void*)’,
inlined from ‘static void QSharedPointer<T>::deref(Data*) [with T = const QQmlJSScope]’ at qsharedpointer_impl.h:448:13,
inlined from ‘static void QSharedPointer<T>::deref(Data*) [with T = const QQmlJSScope]’ at qsharedpointer_impl.h:441:17,
inlined from ‘void QSharedPointer<T>::deref() [with T = const QQmlJSScope]’ at qsharedpointer_impl.h:440:12,
inlined from ‘QSharedPointer<T>::~QSharedPointer() [with T = const QQmlJSScope]’ at qsharedpointer_impl.h:280:30,
inlined from ‘QDeferredSharedPointer<T>::operator QDeferredSharedPointer<const T>() const [with T = QQmlJSScope]’ at qdeferredpointer_p.h:75:83,
inlined from ‘QString QmltcCodeGenerator::generate_typeCount(Predicate, const InlineComponentOrDocumentRootName&) const
qsharedpointer_impl.h:130:67: note: call to ‘void operator delete(void*)’ here
For reference:
static void deref(Data *dd) noexcept
{
if (!dd) return;
if (!dd->strongref.deref()) {
dd->destroy();
}
if (!dd->weakref.deref())
delete dd;
}
Note how there's one extra frame in the deletion sequence
(QDeferredSharedPointer<T>::operator QDeferredSharedPointer<const T>())
compared to the use. The common source is
if (t == visitor->result()) { // t is this document's root
The variable `t` is a QDeferredSharedPointer<const QQmlJSScope>, but the
right side is only QDeferredSharedPointer<QQmlJSScope>, which is why the
conversion operator was called.
operator QDeferredSharedPointer<const T>() const { return { m_data, m_factory }; }
The above is calling the constructor
QDeferredSharedPointer(QSharedPointer<T> data, QSharedPointer<Factory> factory)
for T = const QQmlJSScope, which means it's calling
template <class X, IfCompatible<X> = true>
QSharedPointer(const QSharedPointer<X> &other) noexcept : value(other.value), d(other.d)
to construct the const version from m_data. This temporary is then moved
into the QDeferredSharedPointer's argument because it's a prvalue by way
of QSharedPointer's move constructor
QSharedPointer(QSharedPointer &&other) noexcept
: value(other.value), d(other.d)
{
other.d = nullptr;
other.value = nullptr;
}
After the QDeferredSharedPointer's constructor returns, the temporary
QSharedPointer is destroyed, which is where the compiler saw the call to
operator delete.
Except that it can't happen. The move constructor will have set the
temporary's d pointer to null, so when deref() is called on that
temporary, the check will match:
if (!dd) return;
Change-Id: I7f354474adce419ca6c2fffd17482074d5cdc9d5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit fa7c03f92ea922ac20617c9e8b6da83d8c6665b6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also use sentence case while we're at it.
Amends 44dd79eedae174af3474f6317327a09af0de177a.
Change-Id: I7cbc35bde6f398c4b774627a6f214e302e620efa
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
(cherry picked from commit 2217d50cbf0eb9109aff556a02345ce03a6bed49)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid setting INSTALL_RPATH for Qml plugins if it was set before.
This is mostly applicable for the Qml plugins built in Qt tree, that
got INSTALL_RPATH from the qt_internal_add_plugin function, but also
can be the case for the user Qml plugins created manually.
Fixes: QTBUG-111381
Change-Id: Ia643259dc9027b3abbbf4ba93e3e56199903100d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 80ad280d2cff24fb01af434ff82d8e64f7d48c3e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They didn't work because the ordering of instructions is not the same as
the ordering of lines. They also weren't very helpful because a single
line may result in multiple instructions and vice versa. On top of
everything, they also introduced UB via the std::upper_bound call.
Rather, just print the name of the function and the place in the file at
the beginning of each C++ function. That is much more helpful since we
can then just correlate it to the original QML code. For
instruction-by-instruction mapping we have to consult the byte code
trace anyway.
Fixes: QTBUG-111340
Change-Id: I599ce384cfaf88a7347583a55976a3b98080435d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit ab9f4d2e2614d693c254a027a28824e83c7760f0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It should result in NaN, not in 0. The typedArray() test exposes that
ExecutionEngine::toVariant() also gets this wrong. Fix that, too.
[ChangeLog][QtQml][Important Behavior Changes] Converting a JavaScript
value to a double or float, for example by inserting it into a typed
array, now assumes JavaScript type coercion semantics. In particular,
converting a value that is not actually a number now results in NaN
where it previously sometimes resulted in 0.
Fixes: QTBUG-111179
Change-Id: If24444ae9014c8972761c565a6920f06699e485c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit b9834e0ee9f086add6dd8a42e5cb40f87f91756b)
|
|
|
|
|
| |
Change-Id: I930c36aa70e86e9234cbe088b60e2ed2b0fb6099
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ia0e5d5dc46a60b6d88864b3250f8cf91b03b897f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 03b75a0baa0a77649ca3dca5f7ca17a46b96a2ac)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
It looks less tedious. Amends 8503f884bbdb50c4bebc8f8a9fce05275b0612b1
Change-Id: I85690e6a8ceac4ebec1c00bcbbf6a81108096e6c
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 40e2811843b3dc414d48f2221e2dee888b448b9b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's a Q_GADGET value type so it needs a lowercase name.
Link eventPoint to handlerPoint to help reduce confusion. There's
already a link in the other direction.
Task-number: QTBUG-104761
Task-number: QTBUG-104570
Change-Id: I962d2d44690ec2f75190e07be7489eb3883d0657
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit 9e25d24b3730463a5c5c4ecb1a39ad0ca02892a8)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
Avoid leaking. Same solution as 0879758f8ece9f3b2a799eb87de25813934ba02f
Change-Id: I7e182730757f01c6f93292b594a10681c8fa2cf2
Reviewed-by: Doris Verria <doris.verria@qt.io>
(cherry picked from commit 206855055e5c61c57cbe80eb9a6d7fa902da5710)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Amends a1c91787264f6f535b5cf094b57ee53058856df4
Task-number: QTBUG-76381
Change-Id: I7fdd15abbe15805815f5d2b2fc298501e1ab34d7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit 6215a53f29a6204332799450c5f21fc151e69c78)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, make it more explicit that the QML engine really wants to own the
singletons. Then explain how to combine qt_generate_foreign_qml_types
with custom types you need to manually manage.
Fixes: QTBUG-111169
Change-Id: I9e070c3482014691382c9c1279c918913bdf0307
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
(cherry picked from commit 4f33440a6ce19fcd2a98a77dced76f874d8625c3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The standard buttons won't do anything meaningful with the context
anyway.
Task-number: QTBUG-110934
Change-Id: Ic1affa98904f06a3172a271ba268595a9b53f1a2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 6dcaaca3a759c9af9e9fcdd204bc1300eae812c0)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
instead of QStringConverter::encodingForHtml(). The new method is
more flexible and can also handle non unicode encodings if qtbase
has been compiled with ICU support enabled.
Change-Id: I50599c3afbcb48625d46b5590446bd2eec3890cd
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit f3e981afb4d10c4e249c1738df9afc3d75328986)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far, we only documented the qmake workflow. Adjust the docs to
mention how the same can be achieved in CMake.
As a drive-by, use a versionless import in the QML example code.
Fixes: QTBUG-107902
Change-Id: I08ac1262d0d93572077ec86be3b02ce1524bf52a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 31262074fb3a64fd4b281b03da4032733accee4c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The Dialog’s implicitWidth is set to the max between the header’s,
footer’s, and background’s implicitWidth. So, when testing that the
dialog’s implicitWidth is equal to that of the header, we should first
make sure that the IW of the background and footer is smaller.
- Wait for all enter transitions to finish before assuming that the
dialog is opened.
Change-Id: I803db9664ad46a83dbe6b47c53448530c30d6150
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 4a9be82a382b58155949ad4ec75e8ce4e12c47e6)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise we may retain dangling pointers referencing invalid property
caches. Some metaobjects are created on the heap. If the memory manager
decides to re-use the heap space for new metaobjects, we can retrieve
the invalid property caches.
Task-number: QTBUG-110933
Change-Id: Ic00bb852151bcf58ba6ae798a6bf2cea686a9e10
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 6937f2e50dd60c58350a464eb83ba9d11c7146f9)
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need two metaobjects: One with the PropertyAccessInStaticMetaCall
flagg and one without. The one without needs to be used with
QQmlGadgetPtrWrapper, since the wrapper wants to intercept metacalls.
The other one needs to be used when calling readOnGadget(). We can
accommodate this by just retaining the original metaobject. As it's
retrieved from a gadget type you should definitely be able to
readOnGadget() with it. The dynamic meta object, on the other hand, can
be lazily created when we actually metacall() through
QQmlGadgetPtrWrapper.
This relieves us of all the special casing around QQmlGadgetPtrWrapper
and makes it safe to use for anyone.
Fixes: QTBUG-108704
Fixes: QTBUG-111136
Fixes: QTBUG-111019
Change-Id: Icc01c81babaa9d1eca8d5ddfaf44d724a404db38
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit c4f0d07bda41ea3ea083d17c56e67a3b05a532bb)
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|