| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Anything emitting executable code at runtime obviously ought to be under
utmost scrutinity, so mark most of the JIT related files as critical.
Two of the three headers don't contain any actual logic, they get the
(default) significant label.
Fixes: QTBUG-138341
Pick-to: 6.8
QUIP: 23
Change-Id: I80a39a0154d176c58dee1d865e33cf32149b3a82
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit a3699e3e5cddb5dfca21179f6bd1bc9d88caee5a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1bd6f94bc3547771e3fbec89ae1532c14d3f90c4)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to actually defer the code which attempts to detect whether we
are linking against QtQuick to the point where we write-out the file, as
the user is not unlikely to use target_link_libraries _after_
qt_add_qml_module.
Amends 065b784cab3ff8e8a1dd1f5a304c6b8c3f222d79.
To test that this works, we run the all_qmllint target of on an example
project. We need to add a .qmllint.ini file to let qmllint fail the
build if there are any warnings.
Pick-to: 6.8
Change-Id: I7e00583b3a5b38549db2be13b1a8817b8489496d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 0051e751c3773f63de5259bf9377cab7c6068422)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit a11ad89a3031bb74a36d0e0b9d96eaff13318890)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building with c++23, the `= nullptr` assignment to a unique_ptr
fully instantiates the underlying type to synthesize the destructor.
This means the forward declaration cannot be used.
Relying on the default constructor as workaround.
Pick-to: 6.8
Change-Id: Iff411ae5ea6fe716dc1e2c2c4dbba9e46918fae5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 3bf35c1d9e9b11a93236612cd4b93e8a7b6519f1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 83932d0f5d65a6e785e0899113d3559eb6c33816)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit moves the "Building UIs with Qt Quick" tree section to the
Qt Quick module as a getting started subtree.
Changes:
qtquick-debugging.html - moved to concepts/Debugging
qtquick-deployment.html - moved to concepts/Deployment
qtquick-performance.html - moved to concepts/Performance
qml-codingconventions.html - moved to guidelines/Coding Conventions
scalability.html - moved to guidelines/Scalability
qtquick-qml-runtime.html - moved to the qml module
"Use Case" topics moved to Getting Started:
Visual Elements In QML -> Visual types
Positioners and Layouts In QML -> Positioners and layouts
Responding To User Input in QML -> Handling user input
Displaying Text In QML -> Displaying text
Animations In QML -> Animations
Style And Theme Support -> was deleted (it had almost zero useful info)
Integrating JavaScript in QML -> Integrating JavaScript in QML
Task-number: QTBUG-134130
Change-Id: I14c8e4abadc587fbba788b7ce479c3a8364d0a42
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
(cherry picked from commit 161464abf696d5f64c1e44c3b49313e84e51e709)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b3dfbbf7a8470b5c79fe2d7ce19e9c406bdcff14)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We emit all warnings with QQmlJSLogger, so don't use qWarning() for
parser warnings.
This makes our parser warnings more beautiful because QQmlJSLogger can
print the code around the invalid token, for example on unexpected token
errors.
Also make sure that we use the correct logger to emit the parser
warning.
Pick-to: 6.8
Fixes: QTBUG-137029
Change-Id: Ibf2a24cd17c20edac3c20dd44185f18e891eab66
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
(cherry picked from commit f3d5e44df8a11ce0636b949ec4e7a73cd4cfd5f8)
(cherry picked from commit 5bd55b5c99d628645f7a9ea1fad007e2b2a79af8)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The renderer may receive multiple beginSync/endSync calls, with new
path changes inbetween, before updateNode() is performed to commit the
new node data. For a shape in the default non-asynchronous mode, the
later sync rounds would not be handled in a timely fashion in such
cases.
Fixes: QTBUG-133267
Pick-to: 6.8
Change-Id: I65345b50755a2528663a28de3599be0b256a4790
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit b09b10373678e0345bea57910807f9f8f5fe18e4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit aaa656e470da840559ddf85b56ac810b2a874d7c)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently it is not possible to select QAccessible::StaticText
with the common keyboard shortcuts of screen readers on Windows.
QWindowsUiaTextProvider uses QAccessibleTextInterface but
QAccessibleQuickItem does not provide text in
text(QAccessible::Value) because QAccessible::Value is logically
only implemented for QAccessible::EditableText. So we need to
provide QAccessible::Name in the QAccessibleTextInterface.
Fixes: QTBUG-137860
Pick-to: 6.8
Change-Id: If5da452985b838d3b4c1dff2444fdea2618aaaf6
Reviewed-by: Shawn Rutledge 🏖️ <shawn.rutledge@qt.io>
(cherry picked from commit 30453147f7770e1fad34735240cbd9283814c683)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 18090a16e3443ab705894240402f47ccc9c9091d)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes an error that recently appeared, where
FileDialogDelegateLabel weren't considered a valid type by the engine.
This is likely related to how QtQuickDialogs uses file selectors to
choose which QML files to use.
Pick-to: 6.8
Change-Id: I1de72b63100feabfd080a3dc905ef4e120e733cb
Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 87f6e63dfc32e4eac861f3490cb961dfbb028b23)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit affce024c8178e55433aed2bdcdb0acd106a3e80)
|
| |
|
|
|
|
|
|
|
|
|
| |
The documentation on the MS site does not exist anymore.
Pick-to: 6.8
Change-Id: Id8093840ac84c0b8d77305dd7b9db28067c3c575
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 0e67794e730abdf6a9513631510e1f2e4c930bb9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1d81e65dc0bddd3b8a4df8f7fa0749f543b27973)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the quick material style, the primary color or any other colors
within its color system would be considered as custom if the set color
is outside the predefined enum colors or provided in other color
formats. These colors within the material color system can be set by the
user through options such as conf or env.
The material toolbar, by default, initialises the background color with
the primary color. Thus, it's expected implicitly that the background
color should reflect the primary color as set by the user. It's also to
be noted that this does not necessarily mean to consider background
color as custom (as it hasn't been explicitly overridden by the user).
This assumption of custom background color has been corrected as part
of patch 76d7080fbefc33988d8517f1a964ebdb5c3b3dd2. The controls (such
as Toolbar), when requesting the background color, validate whether it
has been explicitly set or not. If set, the same shall be provided;
otherwise, it can be colors from the predefined range or the default
color.
In this case, the background color would not be considered as
explicitly set (reflecting the primary color), and thus it falls back
to the default color as it's also not within the predefined range in
the material style. But it's valid to expect the primary color as set
by the user.
This patch resolves this issue by having additional validation with the
primary color properties when providing the background color.
Fixes: QTBUG-138602
Change-Id: I1ef1d1b4cd59ec191d6b3cf2886640c52193248e
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
(cherry picked from commit d542f1a60f7617a3b9a465c18e08c5850d38407e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 6420f64787d40c7bac55d072e758104889915e79)
|
| |
|
|
|
|
|
|
|
|
|
| |
The method got deprecated in Qt 6.4.
Pick-to: 6.8 6.5
Change-Id: I8cd380f65b4cd800bbc028b3fbe1aefd98881269
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
(cherry picked from commit b7748afc423d0cc8b4fec39a6585d5328fc23bd9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 3954137c9156771cea0a06d1b8ec52eb273b0a1d)
|
| |
|
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8 6.5
Task-number: QTBUG-138155
Change-Id: Ia06b2b88dc309cd12f6874ba984b37c294670659
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 847afd03cd4ebc9b87bc51573448cc5ac6fcf4bb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2e9a37eb8fbeb241b46c8febf456f9708a566292)
|
| |
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8
Fixes: QTBUG-136611
Change-Id: If2a0a0365ca24360d850ffce98c0bec4a3961976
Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io>
(cherry picked from commit e32d335c8ff6a78d0601453b8cd805b097faa26f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit c42721eb3baf3dc64362a1698b3bb8956dcde540)
|
| |
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8
Change-Id: Idcb83c2096dc3e9faa3c8b429b0444ce386c56fb
Reviewed-by: Alexei Cazacov <alexei.cazacov@qt.io>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
(cherry picked from commit d232d16c79c0b8cd26ad45e9c24b75c8c3e9dd35)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b361bd50b30337552b3d94d80784de18884a9353)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
setColor() updated geometry colors but did not assign the input color
to m_color. This caused color() to always return an invalid QColor.
Fixed by assigning m_color = color in setColor().
Fixes: QTBUG-138358
Change-Id: Icb00d26e624b7437d48253a3f7ea0dd64e68baf8
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 6b58ea261f9031bbb3a849e4bebf5e01d836dfea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b6bfb17a468931f5309422ecb137e584cbc42bdd)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we reference glyphs in QSGDistanceFieldGlyphCache::populate(),
we do this before they are added to the cache, so the cache coords
have yet to be registered. So even for empty glyphs that cover a
0x0 area, they will be still be registered as referenced in the
cache.
However, when dereferencing the glyphs, we would skip if the glyph
did not occupy any space in the cache.
This asymmetrical behavior could lead to a glyph cache mistakenly
being counted as active even after deleting all nodes that reference
it were gone. Thus it would stay around in the glyph cache when it's
invalidated, even though all references are actually gone.
As a simple fix, we make sure the referenceGlyphs() and
releaseGlyphs() are always called for all glyphs. This means that
the list of unused glyphs may sometimes contain empty glyphs, so
when we recycle the unused glyphs, we need to make sure we skip
that for glyphs that do not occupy any space.
Pick-to: 6.8
Task-number: QTBUG-132108
Change-Id: I919d8b6a6a2de9bb1f0fccd7c6ffa00436e6ffa5
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit baaa6f2171f2830cfbde60b7902dd167123350c0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 96fe524bab9aa7386ffad9aaa81fadc9a3567180)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We write via fwrite into stderr, but we never flush. Flush stderr on
destruction.
Pick-to: 6.8
Task-number: QTBUG-137029
Change-Id: I72ff1fe4461b35412539120d3418037dbee84c0d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit e365250e9da57971ea6eac9e2af66ad7cb85996d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 063871f22480dbdf5e8516b696b143064339d0b3)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The documentation of QQuickitem::stackBefore() and stackAfter()
incorrectly stated that the sibling item was being moved. The
updated documentation now correctly states that the current
item (this) is moved before or after the sibling in the
stacking order.
Fixes: QTBUG-77201
Change-Id: I608f0eb5bc5338e58ba82ab656ea7eb1d83e2e28
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 0554999c0634108cf8742e0b16bce41ede6d8cec)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 549bc62b4689e244b18fdbc146b779a9535dfdd7)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clarifies the known conditions when Repeater.count does not match the
actual number of delegate instances: if it doesn't have a visual parent
("set up correctly" was a bit vague, raising the question of whether
there are other forms of incorrectness), or because it's temporarily out
of sync during delegate instantiation/deletion. If you need more info,
monitor the signals and/or check itemAt().
Amends a6eac7e299016c9ee8742abffd780683adac3066
Pick-to: 6.8
Fixes: QTBUG-127955
Change-Id: I6862beb8d61b1cf8a747bdc3ad02226691e6c3eb
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 70e0daf318086ce293879dfbc25a61f2a7b34466)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 820a9c7f2feeaa44c9f32214e11d54d065471b99)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Updated SignalSpy::clear() QML documentation to clarify that it does
not affect the valid property.
Fixes: QTBUG-54605
Change-Id: I9216cc0100a5eb2c463391db042d13c799e2318b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit aaaa7a0630a69e83f510850ea12d3a6c1ee50da9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 28bcc7ca910eacda8091c0e5d5a9a34c84c0018c)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added textual descriptions for all images in the QtLabsPlatform
documentation to ensure QDoc generates appropriate alt text.
Fixes: QTBUG-136147
Change-Id: Ice484beaa12e2169923a84181257562b720ad61e
Reviewed-by: Alexei Cazacov <alexei.cazacov@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
(cherry picked from commit bbababb64356acaef9da82bc6e4b417732f94647)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 660c16d1fad564ec693a54e7e37990bc14a4bf4f)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Clarify the effectiveScrollBarHeight and effectiveScrollBarWidth
refer to the actual height and width used by visible scrollbars.
Fixes: QTBUG-120706
Change-Id: I1b9efd998922f4e6fa20564710266a012b9de600
Reviewed-by: Doris Verria <doris.verria@qt.io>
(cherry picked from commit 5b3644cdd48095fe4d2db9fc0c6b973ad81918de)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 686a11dbc587d8f29606f58f2ad4e7f49d6a00ab)
|
| |
|
|
|
|
|
|
|
|
| |
also return undefined
Change-Id: I074c817a9e29a385ba2b6b8ee32c06c84853ac99
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 090865a11230f42069b1c5c0ef8ac251183f6f74)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit af1742c0af05b619056bd347e7ec63a71b2a067c)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output below is from running
tst_qquickmaterialstyle::Material::test_inheritance_popup(accent).
Before:
initialize called for Popup_QMLTYPE_42(0x1df863e3ce0) - looking for attached parent...
findAttachedParent called with QQuickMaterialStyle Popup_QMLTYPE_42(0x1df863e3ce0)
- attachee does not belong to a popup
- attachee is a popup; checking its window
After:
initialize called for Popup_QMLTYPE_45(0x1e4003fb460) - looking for attached parent...
findAttachedParent called with QQuickMaterialStyle Popup_QMLTYPE_45(0x1e4003fb460)
- attachee is not a popup item
- attachee is a popup; checking its window
Pick-to: 6.8 6.5
Change-Id: I5d0af24f918efd1cd10ea28715ea1c1badb0736d
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit d6f478999ebbad33b7446389cce9ff57195f8c77)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit dda70ffad40a48b140fab8b348308cb1d1cdeb6d)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When allocating an object on the JS heap the garbage collector might be
run as part of the allocation, in particular as a way to possibly make
space when the memory space is starting to get filled up.
When the garbage collector runs, it is possible, as part of its normal
processing, that it will access the JS stack, and try to interact with
the objects that are stored on it.
In particular, while collecting from the JS stack, the garbage collector
will need to mark all Managed objects that are found on it.
When allocating on the JS stack it is possible that the allocation and
the initialization of the allocated memory are performed in separate
steps.
When this is so, it is possible for the allocated element on the stack
to represent garbage memory in between being allocated and being
initialized.
Since the garbage collector can inspect all elements on the stack as
part of its processing, it is possible for it to inspect an element that
represents garbage memory if it runs in between the allocation and
initialization of that stack element.
Furthermore, since each allocation might run the garbage collector, then
any allocation in between the allocation and initialization of such a
stack element can access garbage memory.
In particular, if the garbage memory represents a pointer to a
previously existing Managed object that was swept, the garbage collector
might try to mark an object that shouldn't be marked.
There are a few cases of this currently in the code-base.
As part of dealing with the JS spread operator, in particular when
processing the spread element, we juggle with multiple allocation of
uninitialized elements on the js stack.
During this processing multiple part of the code can allocate.
For example, the spread element is handled through the use of an
iterator that, during its creation, might allocate as during the
creation process we might convert the spread argument to object so that
the iterator can deal with it, which would be the case for a spread
argument that is a string.
When allocating an element on the js stack that is bound to a certain
scope, we sometime allow a conversion to be performed on the original
element.
This conversion routine might allocate, and it does do so for the
currently existing conversion to a String and to an Object.
The conversion routine is called after an uninitialized element is
pushed on the stack, and can thus incur into the above issue.
To fix the issue, an additional method was added, `construct`, that
ensures that allocation and initialization happen sequentially with no
allocation in-between, using an initialization value that is passed as
an argument.
The new method was applied to the code affected by the bug, in practice,
reordering the operations in the affected cases such that the
bug-producing allocations happens before the allocation on the stack
such as to avoid the bug while keeping the same semantics.
An exception was taken for the handling of the spread argument, which
has a more complex control flow, where the solution that was used is to
initialize the memory to the empty value as part of the allocation.
A series of test cases showing an example of the issues were added to
`tst_qv4mm`.
The tests make use of the fact that we assert when we find a Managed
object on the js stack that is not in use, as that is a logical error
for the garbage collector, to observe the issue and are thus skipped
when assertions are not enabled.
Change-Id: Id478e16ee22e20e77d01fdfae9a0269d6d709892
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 64b3748b39db6241a914da8c358d245061977409)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were setting the implicitWidth of the combobox's inner text field to
depend on the width of the content (ie: text). However, for an
editable combobox this means that the textField will expand
horizontally as you type to accomodate for the new typed text. This
is not wanted behavior.
To fix, don't manually set the implicitWidth to the content item,
as a text field already has its own implicit size. Note that
"implicitResize", which controls whether the textfield
recalculates its implicit size when its content changes, is set to
false by default for a text field.
Pick-to: 6.8
Change-Id: I2f7ca2706dc2957fd600a0c06dc28010bfb4f7c6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit d136963fd6c121c7904717ce6e3ab6d9d5011c7e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 4658437dd307ce7c3c3b46e7f4d98b13c0591b51)
|
| |
|
|
|
|
|
|
|
| |
Pick-to: 6.8
Change-Id: Ia2bd028fd2d948aefdc49f5a3044f2cef7371f71
Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io>
(cherry picked from commit d3d045f7e9f1a2140e0d6db6c722f6a907ba2cdf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit abc86b35df13b0405795c9209d06efbb10857fcd)
|
| |
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8 6.5
Change-Id: I1cd7e68182ce97576aba91a5ac95439faf35491b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
(cherry picked from commit 91e868c43e8559757007a7b362451d4904dac08b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 8bd4e73317bec020924ee7cf16c835eeb1e2b0d1)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amends 57325020f65665d91e63dc300d674a8e8dc411f1.
- Add a comment explaining why we store
QQuickMonthGridPrivate::pressedDate as QDateTime now.
- Store QDateTimes as local time to simplify things.
- Make firstDateToDisplay const while we're here.
Task-number: QTBUG-72208
Pick-to: 6.8
Change-Id: I9fbee12608855f30d229b4e3a4e78da5561feb44
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 2e1337d87a60b8d1a30f5296bf3f614ec0bca383)
(cherry picked from commit 60f0e4f5f85365a1a342c28e981ee681c94ed7e8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Print exact error message when the qmltypes file cannot be opened for
writing.
Pick-to: 6.8
Task-number: QTBUG-138565
Change-Id: Ieef9af8661d5e1c93e4046d276fdd972d3ff8440
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 47b070caf331957c1295f4ca019ba280d57e0794)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 894f5feec47915f9b416133c5b01f76a20c031e9)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _qt_internal_write_qmldir_part function is
deferred to be called in the root CMAKE_BINARY_DIR, where
QT_CMAKE_EXPORT_NAMESPACE is not defined if find_package(Qt6) is not
called in the root of the project.
Make sure to pass the value of QT_CMAKE_EXPORT_NAMESPACE to the
function explicitly, from a scope where it is available.
This avoids errors like:
CMake Error at Qt6QmlMacros.cmake:155 (add_custom_command):
Error evaluating generator expression:
$<TARGET_FILE:::qmltyperegistrar>
No target "::qmltyperegistrar"
As a drive by, do the same for _qt_internal_deferred_aotstats_setup
and use that variable, instead of the hardcoded Qt6:: prefix.
Add test.
Amends b47555feff56afa678c4cd91b64b2c77b61b1253
Amends f2889262c86f31d85f2e72edd11792527348b39e
Pick-to: 6.8
Fixes: QTBUG-138559
Change-Id: I9ecf2149737f3522fa61b7188403c8470b5a15d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit afe28ca1cb1ae5a05f9627aa10b494da16c889e4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 83f6edd0908ff4ef183936eae84338c7c1e0bd2a)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
updating
When we were updating the theme as a result of the color scheme change,
we were just updating the palette to the default colors, forgetting to
resolve against the theme palette and the guiApp palette. This was
different from the palette initialization logic, which resolves against
both platform and app palette, making the style palette inconsistent
between the initial palette and the updated one after the color scheme
change. To fix, use the same logic when both initializing and updating
the palette. Also, refactor some code and function names.
Pick-to: 6.8
Change-Id: I80a0983509323002e8d422b79c5271c312d8d963
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit da96a15dfd0e29537d32c367ed066f8bff52958d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit de5a78c1cf9f2a025788a8c9cd8b47d78bda69b6)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Qt scenegraph, 'beforeRendering' is normally connected to
renderers' preprocessing and all the QSGNodes should be
prepared before this stage.
However, AnimationNode's direct connection to 'beforeRendering'
cannot guarantee its completion before the renderer's
preparation stage.
For example in QTBUG-126193, the renderer's direct connection
preprocesses QSGNodes and then AnimationNode's 'advance' makes
a QSGOpacityNode transparent and blocked.
This can cause the renderer to crash.
Since most Qt quick animations are updated scenegraph's sync,
it might be safe to use 'afterSynchronizing'.
Fixes: QTBUG-126193
Pick-to: 6.8
Change-Id: I5514290e66e4600582a7f6b11fa3742ccce701a0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit ba7dcb65dc53dccb49ba37ef1b28ecfdccf4ad13)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 882d37ca310d14761dfd38a238251015bb3c3513)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we get the same file twice, that's generally the effect of a linkage
cycle. Either we're dealing with a static build where this is fine and
we don't need to complain about it, or the linker will complain anyway
and we don't have to.
Pick-to: 6.8
Fixes: QTBUG-132518
Fixes: QTBUG-127133
Fixes: QTBUG-134292
Change-Id: Iad8b3b5c694d96ebdcbf03522ce2318ae8d24fb2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 5d8a3c1367103a6704910432a6051445e3f01640)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit d7468554290e5f10e8db71ca717a73ae800f1d1b)
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doing this on the debug server thread can cause deadlocks since we may
need to serve a file request stemming from type registrations that also
lock the QQmlMetaTypeData.
Amends commit 618720a3a9a7c3e292ed5fb6792ca4069c90f443.
Pick-to: 6.8
Fixes: QTBUG-138349
Change-Id: Iaa6c8cbf9270989aeca0cb84a4a77cd2aee36804
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 64cd070c8c4bee26c04bf48dcd99a29262a2fd6f)
(cherry picked from commit fd850bc9dea4ad8acb93cb014c4d14a988a1370f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- If you're looking at one, chances are you want to know about the
other ones.
- We should be encouraging the use of these user interaction signals,
otherwise users might just rely on textChanged.
Pick-to: 6.8 6.5
Change-Id: I28071c8e8ab8fbb7746810364cca558e06e4884f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 98c82f2e09fba2016e4401e2fd93dbfe04c44622)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 993bd6387e8307fb125f6e81c01ff4a9520bc0a4)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently when a JITtted function throws an exception, on exiting, the
accumulator is not zeroed-out if we don't have an exception handler and
is zeroed out when we do have an exception handler.
In the case where an exception handler is missing, this means that if
the caller is making use of the result of the function call, it might be
dealing with garbage memory.
Many times this isn't an issue as the result of the call would correctly
be ignored in the face of handling the presence of an exception.
Nonetheless, not directly using the result is not necessarily enough to
avoid issues with the possible garbage.
In particular, if the result of the call is put on the JS stack and
handling the exception allocates, the GC might be run as part of the
allocation and read the elements on the JS stack, one of which would be
the garbage memory that was returned.
One case where this can happen in the current code-base is during the evaluation
of a non-signal `QQmlJavaScriptExpression`, which does put the result of
a call on the JS stack while later handling an exception in a possibly
allocating way, with the garbage result still on the JS stack.
Furthermore, the interpreter currently isn't affected by the same issue,
as the interpreter always zeroes out when unwinding without running an
handler.
This adds the additional problem of the behavior differing between the
an interpreted function and its JITted version in the face of an
exception when the result of the call is voluntarily or not inspected.
To avoid the issue, the code generated by the baseline JIT was modified
to always zero out the accumulator before exiting a function call after
an exception, independently of the presence of an exception handler.
This further aligns the behavior of a JITted function to that of the
interpreter when no handler is present.
A test was added to `tst_qqmlecmascript` that exemplifies the issue by
passing by `QQmlJavaScriptExpression::evaluate` with a JITted throwing
function.
Fixes: QTBUG-138242
Pick-to: 6.8 6.5
Change-Id: I969dc790f8a274364ae124afaeae8e2381fc82ae
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 27feb8ba884be638d3cae848c4f4cbff1d29b243)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 98f488af50c82e15a11dfb6960d75e8ba1ee3da3)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a note that calling `find_package` is required for
using Qt-specific CMake commands.
Fixes: QTBUG-138357
Change-Id: I803208184dc02be799dc8e7fa0d0dce96375e42a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
(cherry picked from commit 3fe50b029966fb58d16fa4e8a12b1476313d5952)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 25acde935051580111644b62226daf978028d696)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Amends aac94b9cb6bbfe8e16c8282dcdaf11b36eea4d6e.
Pick-to: 6.8
Fixes: QTBUG-124792
Change-Id: If7a118678304c8fa71f807ca846afcaed7965687
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
(cherry picked from commit fa887c3752c58539f243dcd0342960973b5b80db)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 4e754f811c9df08b94e30482b4e15c89a6b0bb2b)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes no sense to prohibit multiple imports of the same QML module
with the same version. We can just re-order the imports according to
prcedence when we detect this.
Pick-to: 6.8
Fixes: QTBUG-138391
Change-Id: I5ad94e1181f6a2beb278e421c1bbf06678fd863b
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
(cherry picked from commit 8a29649cb79b258efbe918d92c7f78f07d535282)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 783e0399917675b22df124c7a4d5bd5823825a96)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The delivery agent generally accepts key events before sending them to
the quick item; the corresponding item can further accept or ignore
those events.
The reason that the user can't override the shortcut key event in the
quick text edit is that these events are marked as accepted by default
in the delivery agent, and the quick text edit also doesn't explicitly
handle the read-only case, which causes the event state to remain as
accepted.
This patch ignores the shortcut override event by default in the
delivery agent. Also, make the quick text edit to execute the
configured key handler to either accept or ignore before processing
the events. This gives the chance to execute the required shortcut
actions.
Fixes: QTBUG-136959
Pick-to: 6.8 6.5
Change-Id: Ib6400f083f4e21d1b23db87b002acb1cbd4ac82b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 1aefea26e5a574dad25646d330a6b3bb943a596c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f00ec31e8a0c832ffffafb1ab42152db3b8db66e)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this commit, the Accessible.ignored setter did not send a11y
events like the setter in the header STATE_PROPERTY macro and other
setter do. This leads to changes of Accessible.ignored not being
registered by screen readers.
Fixes: QTBUG-122436
Pick-to: 6.8 6.5
Change-Id: I0626b66c91876fa3e6dd23e76c32e8bfe43136bf
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 685f2ef13534c7a0aa12f7f8a0471abead7ba02a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f9a393a1e54cadded7e107741f380156e5480cd0)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickIOSSTheme::intialize() is called when first setting up the theme
(and its palette) for the iOS style, as well as whenever the color
scheme gets updated. This is a function that is called on the QML
thread by the style plugin, as the QQuickTheme also lives in the QML
thread.
In this function we resolve the palette colors through the dynamic
UIColor-s, which update based on the currentTraitCollection.
However, it is not safe to rely on the value of the
currentTraitCollection property outside the main thread, or even in
functions other than the documented methods where UIKit sets the
property as it may be invalid.
To fix, construct a trait collection based on the current
color scheme and resolve the UIColor against it.
Fixes: QTBUG-138200
Pick-to: 6.8
Change-Id: I404428844bc2e3b35be5746746d8d21bde3b3832
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 4eee74ecf71b1ed3c1b37683790c46fbe0d73ac3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 50e0ecc8af8095f115ab763fc4a4634f353fb193)
|
| |
|
|
|
|
|
|
|
|
|
| |
Reuse the string from the Imagine FileDialog so that translators don't
have to translate another string.
Change-Id: Ia48bacc63d5c482c66ab32082a103c3c2a538394
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 0e4d470d3df3963db3546f94e580994473052283)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 43c43566380c429b9ae3b765098c4da33a8ad0d5)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a QDate is passed to QML, it becomes to a JavaScript Date.
As Dates are stored in local time, the QDates we were passing to
QML had the potential to be one day off in certain timezones.
For example: 00:00 UTC converted to UTC-8 is 20:00 the day before.
Fix this by storing and providing dates as QDateTime so that we can
give it a time of day that can't possibly result in a different day
when converted to local time. It's fine to change the C++ API since
it's private, and nothing will change for the type that users see,
since they always get a Date.
Add a SystemEnvironment singleton to QQuickControlsTestUtils
(Qt.test.controls) to allow reading and writing environment
variables from QML.
Fixes: QTBUG-72208
Pick-to: 6.8
Change-Id: Idb4ab26568d8f1eddd5ab4cebe691e38173d02a9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 57325020f65665d91e63dc300d674a8e8dc411f1)
(cherry picked from commit 2e37850dabf89fae009821cfc98918ba3345a315)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Multiple people have agreed on that the "key-pair object" sounds a bit
confusing, the "list of simple key-value pairs" is probably a better
explanation of what is happening here.
Pick-to: 6.8
Change-Id: I8d835b4a3ceee2fb9705755491902df14d76d8d8
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
(cherry picked from commit fe8742de43f0bbf7f1a91c131ba19298b90870cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 941046342ab84adaff10e779ae084145abb4b583)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Container's removeItem function removes and deletes items immediately.
This has caused issues in the past, like QTBUG-46798. QTBUG-133256 is
similar to that, except it also involves transitions.
This patch fixes the crash by listening for the destruction of items
created within an ObjectModel and removing them so that views don't
have dangling pointers to them.
Add removeAndDestroyObjectModelItem to tst_qquicklistview2, which is
similar to the test added for 1e3924d8f585dd9099eb74ffbc17950c693d14da
but adds more thorough checks and transitions.
Fixes: QTBUG-133256
Task-number: QTBUG-46798
Pick-to: 6.8 6.5
Change-Id: I9777713edfc6f82a4e9edefe2fd6c9831f03c261
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit fa8bfd6ed5ec4150cd2b05cd17b199097193fb1b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit fc84765ce7b4ac05e3a967f0b4d8927dcf46b9f4)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the tab navigation order is confusing as the footer is
focused before the actual content of the ApplicationWindow. By adjusting
the stack order, the tab navigation now matches the visual order.
Fixes: QTBUG-137823
Pick-to: 6.8
Change-Id: Ibe6fe9305181fe7ed42d7f8ca2da689b1b6ccf41
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit df2c4029796dbbbee1ce04afb679c6a38fd15c3e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 33ba342e582b29072eb63367aae3923763b994e2)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flags declared with Q_FLAGS lack the methods for properly extracting the
typedef'd name. We need to manually register the typedef.
Amends commit 8bf5aae19b77b618f3f7a55a59e87c8a319475a8.
Pick-to: 6.8
Fixes: QTBUG-138174
Change-Id: I7c373f4d810a0c9a5590f39cc629015662a69ed4
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
(cherry picked from commit 560bacbc9302b9622e8cabaf8dde2b3348480b3d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1957edf1889eaca4f5dd4315ac9a206871b1e7e0)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qmatrix4x4.h will lose its qquaternion.h include, so include
qquaternion.h explicitly in all files that mention 'QQuaternion',
unless, for a foo.cpp, the own foo.h has already included it.
Picking all the way back, even though the include removal won't be
picked as far back, because it's the correct thing to do and cannot
fail.
Pick-to: 6.8 6.5
Change-Id: I21bc2ddfda326455d36d5510df596169e1c2d5dc
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit ffc332825a1c2662374b85426aa4e7a485f3e50d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 9429267f922cd303eaecb2073fb80514b7647c10)
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|