| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 02c6e7bc3aca42a188b772aa9794b919e60017e7. It broke text
selection, the currentClipNode pointer must not be reset to nullptr even if
ownership is transferred to a node.
Change-Id: Ia66f7ed4be17916f3725bd3cb2cbd0e7c9d6327a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit 68324c56c1b8f4ad5dfcdc6f77abda3eedaf2dfd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I11331f0f0434f2888d1f64aa01f999f42a15bdda
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 13ab07e932725d8c76208c265b60031e37305704)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Make static everything that can be static. At the same time, make
configure() non-static. Does not change behavior in any way, but
this is the more logical approach. Also more future proof.
Change-Id: I601d59a0547106802f330a7551a97186cde481e0
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit fb8ba3f7250f837dd29600d30108ba6f4470a727)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The clang static analyzer warns in 3df1fff15a10a64372ed4f92ba05271f about
a potential memory leak. While that particular claim is a false positive
(the loop is always entered if sortedIndex is not empty), the re-use of
the currentClipNode variable makes it hard to follow the object ownership,
and there might still be a potential memory leak.
Use std::unique_ptr to force explicit transfer of ownership, and get
implicit destruction of objects not owned at the end of the scope.
Change-Id: If826e1d81b92f1da60aae2262b628dcaaa2e592a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 02c6e7bc3aca42a188b772aa9794b919e60017e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In certain corner cases there may be no stack frame available. As the
setting of the IP is only used for generating better error messages, we
don't have to care about that too much.
Change-Id: If249b96a97a2189ef0b2e83f7a057a001a4307cd
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4c4f39928b9b1cbd7623917d92c277ef256cf18d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The static analyzer found the case where it could actually be null
during delivery of a WindowDeactivate event. In other cases, we assert
rather than testing, until we know that it can actually be null. It
shouldn't often be null because it's created in QQuickWindowPrivate::init()
and destroyed in the destructor; however we've already seen races when
event delivery continues while the window is being destroyed. If more
such cases materialize, we can replace asserts with if()'s or check
the new inDestructor flag.
Fixes static analyzer warning 16738055c4c458145b59ad9b6bb643b5
Change-Id: I408e9a7d71a77fd29c2af91e59caf9ede6585af9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit fb69e86bee67a228ca581a8bfe3384da14398f76)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Those are not only foreign types, but also extension types which add
additional properties. Thus we also need to mark them as QML_EXTENDED.
Change-Id: I7a0469f7760887318a2b34bc5fcb85f011c0b0bf
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 0aad1a6c3cb6e1e1e9892a328c0aa84814d94a5a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If OUTPUT_DIRECTORY is set, all the QML files, as well as the qmldir and
the plugin should end up in that directory. We should not confuse that
with the install directory, which is separate.
For qt_internal_add_qml_module(), we can provide the defaults for both
OUTPUT_DIRECTORY and INSTALL_DIRECTORY. For the latter, don't support
a separate INSTALL_LOCATION keyword, only use INSTALL_DIRECTORY.
With these changes, qtbase no longer has to contain qml-specific
logic for these paths in QtPluginHelpers.cmake.
Refactor the way arguments are collected and passed through to the
internal call to qt6_add_qml_module(). This simplifies the code and
also exposed that QML_FILES was not being identified as an allowed
argument, TYPEINFO was the wrong type of argument and DO_NOT_INSTALL
was not a valid argument (or at least was ignored).
The qt_internal_add_module() function was also duplicating logic that
was largely already implemented by qt6_add_qml_module(). Rework
things a little to remove that duplication.
Task-number: QTBUG-88763
Change-Id: I629ff63a9f8302c79694970f7b8e664a2b5d587b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit c42d558dc9ff89d452546412ee88a16ae1e324e4)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91717
Change-Id: Id19e08589206253b96c76bc40a799ccd95b0e0bf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 9970ebb277db5f11c8a7e72099fdd056a6d8310c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Connections could accumulate. Because the newest one was invoked
last due to how signal-slot invocations are ordered, rendering
was correct, but the stale connections caused unnecessary updates
(and wasted a small amount of memory).
This comes from a misunderstanding I had at the time about how
QMetaObject::Connection works. Destroying or overwriting one does
not affect the actual connection.
While at it, also modernize the connect().
Change-Id: Idde81bdbff8947ed517bf2740d623a395c0acb74
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 9f8292d48913c5bc50377749c2b3e030cf16d703)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-91276
Change-Id: I1ddbb4a3326d61ff94e3881beb64a14dade11c46
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 31ad81d81e623a34cd71567b9507f16601f1c1d4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
fuzzyCompare() messed up the arguments and compared the first color
argument with itself (ignoring the second color).
Fixes: QTBUG-91694
Change-Id: I86453c937e27a2112f8375b144ca21a9d088f017
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 35a0c2552f17e40d3584af422a3c5fe75c700d0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
We need to remove all the QML-specific arguments.
Change-Id: I99a1712251c5cf9cb6dfe399a2f1177d435a2af7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 078bf865360391d960421cacc5e0d58a6bb07a11)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ic3a11d24fdc02fa383350997083b38407d75feab
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit ef16f8876d70c9fab4780f5063dc463e38ba3056)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a UNC path is used to locate the qmldir then when it is checked
later on the original path will be compared against the one that QUrl
returns. However, QUrl will convert the case of the host name to be
all lower-case whereas the original string may have been in upper-case.
For example, QUrl::fromLocalFile("//QT-L-R90X9VHB/tasks").toString()
will output "file://qt-l-r90x9vhb/tasks".
So in this case, the absoluteFilePath is changed at this point so that
it will match what QUrl has for the same path to avoid a problem with
it no being found.
Change-Id: I2cd5d74bfec06c01635f80574ac1a6d479792855
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit e0400d08755bb40c303bbe330bc3bd6045436c22)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously HeapObject::GeneratorObject utilized a ValueArray member to store stack information.
As we rely on all HeapObject members to have a constant size in order for QV4Table::inlinePropertyOffset
to remain accurate, this lead to a memory conflict when a user defined his own property on the Generator.
Please do not use ValueArray for any types that are user accessible or that you intend to add properties to.
Now the stack information is stored into ArrayObjects instead which circumvents the issue.
Fixes: QTBUG-91491
Change-Id: Id6f638bf36a3ae3c9320ac99e67214c48dc81226
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 7ea690c61dabd2485e80e7fae9aed392ba02c846)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91519
Change-Id: Idfe3116c2e94b8e96300d72e15db0bc78425f517
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 2cb306c194625626957fcde44bd56473b0436f83)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the ability to focus an item by clicking (such as a TextInput)
when it's part of a subscene mapped to a 3D object in Qt Quick 3D,
even if there are multiple subscenes with focusable items.
QQuickDeliveryAgentPrivate::setFocusInScope(subsceneRoot, textInput)
for example did not succeed; for one thing, this check fails:
// Does this change the active focus?
if (item == rootItem || scopePrivate->activeFocus) {
because in a 3D scene, so far the viewport has focus by default,
so the given scope (subscene root) does not have active focus.
Each window ultimately has one actively focused item, so we need to
delegate to the delivery agent belonging to the window's root item, to
set its active focus. It's not even clear whether it's really a good
idea for each subscene delivery agent to have its own
QQuickDeliveryAgentPrivate::activeFocusItem. It might give us
flexibility: perhaps each subscene root item should be a focus scope,
and each delivery agent should decide which item would be hypothetically
focused if the whole subscene got focus. But for now, it seems enough
to set the activeFocusItem on the root item of the whole scene.
Another problem was that when QQuickItem::forceActiveFocus() goes up the
parent hierarchy, it didn't find a focus scope. So when you clicked on
a TextInput that already had its focus property set to true,
1) QQuickItem::setFocus() does nothing because d->focus is already set
2) QQuickItem::forceActiveFocus() did not find a parent focus scope
Therefore neither of them changed anything, and it wouldn't get active
focus. Setting the ItemIsFocusScope flag on each subscene root item
fixes (2), and that seems to be enough for now.
Another problem was that QQuickWindow::event() was calling
QQuickDeliveryAgent::grabberAgent() even when delivering an event that
is NOT a press event, in spite of the comment "When delivering _update_
and _release_ events to existing grabbers, use the subscene delivery
agent, if any." A hover event often results in a HoverHandler getting
a passive grab, but that passive grab is not a reason to deliver a
subsequent press event to the same subscene. When the mouse moves,
we need to start over with picking in the 3D scene. When the 60fps
frame-synchronous hover event occurs, we need to start over with
picking, in case 3D objects are being animated under the cursor.
When a press occurs, we need to start over with picking in case the
press occurs in a different location from the last hover (even though
that's unlikely with a mouse, it happens easily with a touchscreen).
Another problem was that QQuickItemPrivate::deliveryAgent() was not
finding the subscene DA during delivery of key events. A child item's
extra is often not allocated, but we still need to keep looking at the parents.
The optimization from 68c103225f4e8bd6c1b18ef547108fd60f398c0f was also
wrong: after an Item's default initialization, we always need to do the
search for the subcene DA. Only if we are sure that the item is NOT in
a subscene (as in all normal 2D scenes) we can avoid doing that search
next time.
Consolidate the number of lines of output in the qt.quick.focus logging
category and show the activeFocusItem transition. As with most logging
in Qt Quick, it's expected that you set QT_MESSAGE_PATTERN to include
%{function} so that you can always see where each line comes from.
Therefore the log output itself has only minimal context (as in
"q focus item x in scope y") rather than repeating the function name.
Change-Id: I1b2a989c02c58c966653f965c0de512aa641bb99
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 543598a6cc07d67e7651c9f65c058465ea6d8425)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91497
Change-Id: Ia280e768537404505481ea7046922785531e77c2
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit e83e91bad4bc85a925eab50e2f58fc3a7ae21112)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QML files shall always be installed together with the module. Not
installing them will just cause confusion.
Change-Id: I380b03f1cfce92f2c1fd1e0205e0fa307b385097
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 814ab9d05e947843de5e5708fb644f98db4765bd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Change-Id: If8ba26fc0372f181e284aebf6413a5fa9b5118b0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit 3b5d2210c2b193fde51fb29b6b209ee4c5b8d553)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
QObject::staticMetaObject is not very useful.
Change-Id: Ifc40e1fa08755c59ff6b8ae23a7a1257f34507da
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 89ebac46d7bde1df265b8970132bf09dc790eca2)
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, we can get a crash in QQuickPopupItemPrivate, which does not
have a palette when using the Fusion style (so m_palette is nullptr),
but instead hands us its popup's palette.
Change-Id: Ib472139735dc3a7892771c6097267c0ec6902a99
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 6b8a6b9fc86e94c1160d640a2b9718a7ae275b08)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I58fff14184abc9dcffb3992a473fd2a1ef8446c7
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 503bfae6ef76c18e1596cd872c0f6dd0838bbc51)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
All we need is to get the meta-object from the object. This also works
with a const pointer, which is helpful for const-correctness in the FSM
framework.
Change-Id: Ie554fe81e67bced5f74c844c72e7f9b0df7ded58
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit d0db469788039cf73406ba3f489b7a00b0601f01)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ia1ca8276560f913e84b9e4c119cd1ced89737790
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 1a738838c4a199c61fce32c7eaba466181526335)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickWindow owns QQuickRootItem which owns QQuickDeliveryAgent, so
for every window there's an object responsible for event delivery,
while the window itself is mainly responsible for rendering (separation
of concerns). However, QQuickRootItem and QQuickDeliveryAgent can now
be used in cases where the scene doesn't directly belong to a window,
such as when a Qt Quick sub-scene is mapped somewhere into a Qt Quick 3D
scene. In that case, we must remember which delivery agent was in use
at the time when a QEventPoint is grabbed and deliver subsequent updates
via the same DA. There's also a QQuickDeliveryAgent::Transform
abstraction which subscene-management code (such as QQuick3DViewport)
can implement, to provide a formula to map the window's scene
coordinates to subscene coordinates; if defined, it will be used
during delivery of subsequent updates to existing grabbers.
Task-number: QTBUG-84870
Change-Id: I70b433f7ebb05d2e60214ff3192e05da0aa84a42
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 68c103225f4e8bd6c1b18ef547108fd60f398c0f)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Event delivery logic will live in util/qquickdeliveryagent.cpp now.
The actual QQuickDeliveryAgent class will be created in a followup patch.
This patch is roughly the same as this series in dev branch:
44eebdf5f5fe3bd7be16bc0ef05f8fc63e38a9f2
ca9c29348a9e149109d9d381cdd44538160b7898
902c68f3ceaae407306ca5a3fdcdcfa159009e78
79f0af6cd097f55eacb763574e173f134c9c0a32
0ccea574f8e4e9a3954ef3bb95909565957bacbe
dbdee417dc073a0da3c99849a3f393fa3cb660e9
Change-Id: I25f234d0550768cb01cd80c38525291202b25d99
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you have a list of render orders A, B, C, then A and C
changes, we also invalidated B. This was to avoid the situation
where B was ignored by the batching algorithm and A and C
would end up being batched together.
This has a performance impact for some scenes though, where
you might have top level and bottom level items that constantly
change, causing all geometry in the scene to be uploaded every
frame.
Instead of doing this, we skip invalidation of B, but include its
bounding rect when checking for overlaps, so that we still avoid
batching A and C together but without the need to re-upload B.
Fixes: QTBUG-90632
Change-Id: I462cf1938360643ca9fa1425ae8c8e08b534fd76
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
(cherry picked from commit 9aa3db2e19b2e1622b878cf34b1978f4fdbcac39)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
- Fix spelling errors
- Remove whitespace from message
Change-Id: I44889f63d67f85e11fb0aac6296e4e36ec996121
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit cccef3886fc50df5e0b39540885e3b5518ece2b1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Otherwise qmllint and other tools won't know what QQuickItem is in this
context.
Change-Id: I68da08cf2c41f17a2623f30303ac8f66b7b9329a
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 1a4b0929de72d533c56dd38a9eaf49d21f16e197)
|
|
|
|
|
|
|
|
|
|
|
|
| |
In qmltypes, enum types can be scoped, just like in C++. Resolve those
scopes.
Also, resolve the enum scopes only once, in order not to duplicate the
types.
Change-Id: I095ec11f0ffec8e0e5f1034023c8956d2d39f660
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 75b99a10b3229c7ed14ded8622f3334c3cd02af5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For each binding there should be a property and that property should
have a type we recognize.
Enums can be property types in C++. We support this by adding child
scopes for such enums. The child scopes are then referenced by the
QQmlJSMetaEnums and derive from int.
The test then reveals that we were missing a few properties in
QtQuick.tooling. Add those.
Change-Id: I1deef94393ee0e17d34c2dc5980ebfbf25417f36
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 08c8e8ac3ba8eb23ae5c158990f5d029ac9988ed)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any target created by a call to qt6_add_executable() that also links to
the Qml target will now automatically call qt6_import_qml_plugins() in
qt6_finalize_executable() for scenarios that need it. This is only
relevant for static builds and only when not doing a top level Qt
superbuild.
The finalizers feature requires CMake 3.18. If using an earlier CMake
version, the project is still responsible for calling
qt6_import_qml_plugins() itself.
Fixes: QTBUG-86669
Change-Id: I0f0b3f700ab6f1240b2373cb4155f52dc8991d2e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit c71c48f5125c116f01f615f51f10e4f2877b2b1d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt Virtual Keyboard copies some QML resources to the BINARY directory
for dynamic configuration of resources.
_qt_internal_quick_compiler_process_resources assumes that all QML
source files are located under the SOURCE directory. This is perfectly
fine as long as the SOURCE and BINARY directories are located on the
same drive in Windows. Otherwise, the relative path cannot be resolved
and cmake is aborted because a directory cannot be created below.
Fix this problem by making sure that the relative path is resolved
against the correct base directory.
Change-Id: I93e31e9f2720d448a48b6e8075cee0c01f59b584
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 1bc4fb2e400c4c5865282a711d1a443ca0ab26fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Now primitives such as integers and strings should also work.
Fixes: QTBUG-85615
Change-Id: I201d1844b7272ca50e32f1e33e9ac357b5e68dfe
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 64102ae231317eb6f637304918e55153dadef72d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
In the AST, the type always has a name.
Change-Id: Ifc299573132b9edeb4c0b96054a101d95332236a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit c6c37d12633cc9fc3be1a1aa8e18d1013f3ab2d9)
|
|
|
|
|
|
|
|
|
| |
We want to do that in other places, too.
Change-Id: Id42495d239c2dccffa390478c8b57ec1acab7408
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 1daee0b03050487cfc4b483262ca73e5a24267ff)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
There is no longer a Windows 7 configuration in CI.
Change-Id: Ic190735301f03e84974132ed1183adfd9352187a
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 4d9d5ab8187a2e1391afdcd0716bd43196040984)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove a Qt 6.0 editing issue where the docs continue saying
"QSGMaterialShader and QSGMaterialShader", which is a leftover
from 5.14/5.15 times when QSGRhiMaterialShader still existed.
While we are at it, improve the code snippets and talk a bit more
about type(), inspired by recent mailing list discussions.
Change-Id: I4b21ed00285bf18e22e64a7574a273abdf8be3e5
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 258077e00eb8f3f4b0ef21a9a0395268b6c86532)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Previously, all attached property scopes were just ignored.
Task-number: QTBUG-84369
Change-Id: I324becf92402eacea9d150e6e51359edae562dde
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit f34ecc8f99522b69d1aaa3d5d233add9ed9b6da9)
|
|
|
|
|
|
|
|
|
|
|
| |
If we don't declare the dependency our tools won't figure out where
QQuickItem comes from when analyzing the dependency hierarchy of
layouts.
Change-Id: I389c9e513a3a65143aa6b6fbf508eee584970181
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit fe7318a6cf4398802f919766f2ac585bd844cf48)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If validation did not pass after text pre-editing is finished, it need
to be roll back to state before pre-editing started.
Before this change, if validation did not pass, text was always rolled
back to previous state. In pre-editing text case, it means back to the
state in which part of the text was removed (and later changed to
pre-edited text). It may cause a situation of removing part of the text
that was already validated
Fixes: QTBUG-90239
Change-Id: I3ec39e0f6b8a93d4e6fd190af30d4c80a0e495eb
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit b1ae151acc80254ab0ec2937c55b99223205875c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Document the property not the enum type.
Fixes: QTBUG-91196
Change-Id: Id11a436caf1c683a0e70a1b8e8ce86c6118725d8
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 3670395af58f21f203ce2289a04feef7c6de53f5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ida75d35fb4eced20b206caf3bc247c734679cf10
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit edf8106be2b94dea5bd3b8a446705521957bf973)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlData::get expects a non-null pointer, therefore we need to check
whether the object still exists.
Note that while this fixes the crash in the referenced bug,
PropertyChanges still does not support a dynamic target.
Task-number: QTBUG-46350
Change-Id: Ifeecf5df83e87468a1d314ce2b120006124d6f4b
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 1ff376e64bf5af6df7e0079700d2b9164037dc89)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Cannot find file to quote from: 'code/backend/backend.pro'
Cannot find file to quote from: 'code/doc_src_qtqml.pro'
Cannot find file to quote from: 'code/doc_src_qtquick.pro'
Change-Id: I26642a375a659a3d8dbda097702ffc2f68d10137
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit ca7d2c1f4ca010096b668108200cd9f1357a5b2e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
The AOT-compiled code is supposed to be the best one if available.
Change-Id: Ib66a3d8e57cf437e0a5e6395f2ec6a0ab21f39c0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit d446cb746f4e8e84efea8b3afda530d6da52d5f5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
qmltyperegistrar needs all the metatypes declared in the foreign types
file. Otherwise it produces incomplete output.
Change-Id: I5876ca9add59fafa54e2d2e6eb2de058c9595870
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit ce950d619aef3ad0534544b2e029a6f025b256a5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
This include would only work when qquickstacklayout_p.h was included by
a file in the same directory as qquicklayout_p.h.
Change-Id: I872e3e85ebe08b58f9bb611d36c8428ff6bccdf9
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 424030efdb1ca416c91e4360865d7f4fd62f4b3f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|