| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Change-Id: I1cc8d0b1e340c64ef3723ee2484d1f255193aae6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: Ic799033acdbc18d3e31df2ee766eba5fdaea3048
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I47ab52342750186d98da6098847d9514e93c11e5
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Ensure that we produce the correct directory structure for the
QML module. This suppresses the tooling-related warning.
Pick-to: 6.8
Change-Id: Ia391663806e4d3428ca3ae2a5bfa8dda95f833da
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit d176aec80f066ff36535aca06c03ae83d3652349)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit c97c51199593cdaa0064133e9556b40d8a633d68)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 test shows it after the menu gets a window anyway, so we don't need
to try to make it immediately visible.
Amends 19637c2241724cac55315afbb70b5f4333a2065b.
Pick-to: 6.8 6.5
Change-Id: I779287ae499ef26196c26e5d44d277e9a6223610
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
(cherry picked from commit 1025a40812cb4b0b010815533305e7ca88a5ac2c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit c224e324bba06b920e0ed9aad207a05b75811596)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
| |
Change-Id: I68f41973a397ed4d4d0f6c1e218e06c234dea191
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
| |
Change-Id: I706da7f0499b03be5ea35f67abe2706b119f6661
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
| |
Change-Id: I11a62599932efe9d2e73c1565d388618c6bbac37
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
| |
Change-Id: Iad996abfa61dd4c067386b6770f0432fef86aa78
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As a sanity check to confirm that this works for a related follow-up
patch.
Pick-to: 6.8 6.5
Change-Id: Ic62c19ba33bd24f0855a224d8120a9b4a324bc9b
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 38f5e4ad4732c2f01df91ba4550e1ebb3320ad14)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1dc8edde4370da415f4fe6e57893c6bbf78f2abe)
|
| |
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
| |
Change-Id: Ief4465148a03ca23ef466b01ea9b1857221f9bb4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 a3863b2d8bfdd2a0c138e857d3f119a5f6dfc11e
Pick-to: 6.8
Change-Id: I756621e2ac6d57a555395cb69914e2d0b4431d0e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 6ead474c839c84788e18a6518726c60fd8b6399d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry-picked from commit 4f3bb10e3a7817d6299c3121d49af141c0e5de4d)
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|