Commit Graph

29148 Commits

Author SHA1 Message Date
Oliver Eftevaag b7ae0a90c1 QQuickFileDialog: give non-native dialog a text field for filename
The non-native filedialog was missing a text input field that would
allow the user to easily set the filename in a filedialog with fileMode
set to SaveFile.

Pick-to: 6.4
Fixes: QTBUG-101502
Change-Id: Id800a1e34de0e65455409a7edc5fa2f5f13b4b19
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2022-08-17 10:41:18 +02:00
Mitch Curtis 58bae53237 Fix scroll bars not showing up when binding to standalone contentItem
908aa77d16 hid old scroll bars, but
didn't account for the situation where the old scroll bars would be put
back into place, and so they never showed up.

In the case of the linked bug report, since there was a binding to the
ScrollView's contentItem, a default Flickable would be created. After
that binding was evaluated, the contentItem was set, causing the scroll
bars to be hidden (as part of the process of disconnecting from the old
flickable). To fix the issue, we now do the reverse of hideOldItem when
a new contentItem is set.

Fixes: QTBUG-104983
Pick-to: 6.2 6.3 6.4
Change-Id: I910259cc3e8f6a6231ae6c87c7d4f0f652bd0545
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Nate Graham
2022-08-17 13:26:14 +08:00
Laszlo Agocs e0ee63a06e Fix shadereffects example resources
Stuff cannot just magically move under a different prefix
when shaders are referenced with relative paths.

As the example uses the common main helper code, it is
easier to switch to absolute paths than to use
NO_RESOURCE_TARGET_PATH.

Amends d270c51f81

Change-Id: I527314725210e02675dc8c2f5fc5042dc5e1c478
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2022-08-17 01:45:55 +02:00
Maximilian Goldstein 914c084407 docs: Add documentation for Qml static analysis plugin system
Adds a docuemnt outlining some of the details of how the plugin system
works.

Change-Id: I9b6d6987bf0fcdf9b12791bed93d4142b59f267d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-16 19:06:40 +02:00
Shawn Rutledge c2d92c2412 doc: Add missing PointerHandler.CanTakeOverFromItems enum value
Amends 0a3eec60ca

Pick-to: 6.2 6.3 6.4 5.15
Change-Id: Iae9d1b2b68dc48a52adf0438a09af8e53f5527f1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2022-08-16 13:19:09 +02:00
Maximilian Goldstein 1091322275 QQmlLocale: Use enums from QLocale
We should use the enums from QLocale instead of just recreating them in
QQmlLocale.

Change-Id: Ieb2985f93f3da36781e5c6bb4b582e3abb166d81
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-16 08:08:19 +02:00
Qt Submodule Update Bot 8b6a88acc5 Update dependencies on 'dev' in qt/qtdeclarative
Change-Id: I3fdc4b0b3e1945421907a93fa6fedd25a720765d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2022-08-16 06:08:17 +00:00
Mitch Curtis 10800723ab PinchArea: fix pinches being stolen when in PathView
Keep the mouse grab in addition to touch, as PathView
apparently doesn't deal with touch events yet.

Fixes: QTBUG-105058
Pick-to: 6.2 6.3 6.4
Change-Id: Id94768aec847138cccdeccfa92e4bc72a19810fe
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2022-08-16 14:08:16 +08:00
Shawn Rutledge 212f31f9ea Don't compress touch events in subscene DeliveryAgents
flushFrameSynchronousEvents() is only called on the window's DA, so a
touch event stored in QQuickDeliveryAgentPrivate::delayedTouch in a
subscene DA would be lost, unless we make the flush recursive.

However, a grabbed touchpoint remembers its DA; when that's a subscene
agent, subsequent touch moves are delivered directly via the subscene
DA, and touch event compression does not occur at all. This may
pessimize performance if touch events occur many times more often than
frame rendering, but it's not expected to matter a lot on 3D-capable
hardware.

Pick-to: 6.2 6.3 6.4
Fixes: QTBUG-105566
Change-Id: I9102b20806f9577fba0f741f7589ee5b1642e5a5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2022-08-15 21:54:09 +02:00
Sami Shalayel e9dc0ac681 Create Translation Bindings without CompiledData::Binding
To add translation bindings to qmltc, the methods used to create
translation bindings need to be adapted to work without
QV4::CompiledData::Binding as it is not available from qmltc. Instead,
information already available from the QQmlJSScope should be used, along
with a newly introduced helper class QQmlTranslation.

Details:
Add a QQmlTranslation class that represents a call to qsTr, qsTrId etc
that knows how to translate itself (without needing any
ExecutableCompilationUnit or Binding). It encapsulates the
information needed to create a translation binding.

ExecutableCompilationUnit::bindingValueAsString refactored
so its functionality can be used without Binding.
Instead, it uses only the translationId, see
ExecutableCompilationUnit::translateFromId
and
ExecutableCompilationUnit::translateFrom.

Refactored QQmlTranslationBinding to work with QQmlTranslation instead
of CompiledData::Binding.
Same for QQmlCppBinding::createTranslationBindingForBindable,
QQmlTranslationPropertyBinding::create and
QQmlCppBinding::createTranslationBindingForNonBindable.

Changed TranslationBindingInformation to work without
CompiledData::Binding, and also removed static unused
QString ProxyTranslator::originStringFromInformation(
   const TranslationBindingInformation &translationBindingInformation)
as I could not find out what this origin string is.

Same for the translation debugging in qmldb_preview.

Added QmltcCodeGenerator::generate_createTranslationBindingOnProperty.

Added #if to avoid compilation error for standalone DOM compilation due
to the new QQmlTranslation class.

Task-number: QTBUG-105345
Change-Id: Iccd94d5cba4eaf63901233451fec48051c855c2a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-15 11:20:32 +02:00
Yuhang Zhao 70074e1aca QQuickShortcut: export as part of private API
All the Qt Quick types in src/quick/util are exported
except this one, so export it as well. It may also be
used by external users when implementing something in
pure C++ instead of QML.

Pick-to: 6.4
Change-Id: If224608127e5fdc2c834b294f200b7a72fae6f96
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2022-08-14 08:43:59 +08:00
Yuhang Zhao ca42be4176 QQuickStackLayout: also export the attached type
Make QQuickStackLayout more usable for users besides
Qt itself.

Pick-to: 6.4
Change-Id: I1f39ba31d99cf6e52fdc26fde96900938413b77f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2022-08-13 13:27:43 +08:00
Sami Shalayel 1c7c277bf1 qmlls: reduce latency by using "dry" QHttpMessageStreamParser
StdinReader::run() (qmllanguageservertool.cpp) just uses readSome,
which might read just a single character (and on several platforms
that is what it does), and then sends it via signal to another thread.

This is rather expensive, we should read larger chunks to be more
efficient, but we should never wait for more data if a full message
was already read (to avoid deadlocks). This commit uses
QHttpMessageStreamParser in dry mode to know when to send the data
via the signal, that is, when a message has been entirely read.

Change-Id: Iee795ded0a539413ec15c686a416f2ccf6673ec9
Task-number: QTBUG-104553
Fixes: QTBUG-104150
Pick-to: 6.4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-12 17:10:01 +02:00
Shawn Rutledge a9c3ca8380 QQuickDeliveryAgentPrivate::touchToMouseEvent: expect non-mouse device
If this function is called and the resulting event says that
event->pointingDevice() is a mouse, something went wrong somewhere.
We require that the recipient of the event can find out that it came
from a touchscreen, if that's where it really came from; and this
function should never be called with an event that comes from a mouse.

Change-Id: I993fa5a491e58f63a90b2df6f0885f7fcf8cb8ec
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2022-08-12 16:10:01 +01:00
Fawzi Mohamed 8e6dcc04fc qmlls: fix import as resolution
Import as resolution (i.e. finding a type that was imported with an import as)
was broken in two ways: the shortcut looking for types did look only to types
imported without as, and the normal lookup for symbols declared the ImportScope
as visited (to avoid loops) too early in one case and would skip it.
This was visible in qmlls completions of Controls.

Pick-to: 6.4
Change-Id: Ifc1e777973ddc251bd0685290e8d28bfb025f269
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-12 15:10:01 +00:00
Sami Shalayel 6fd035499c Blacklist tst_qqmlnotifier::deleteFromHandler
This test fails the dependency update on macos x86_64 platforms
but is just checking if/when a qFatal error is thrown. Therefore, it
is blacklisted.

Change-Id: Ie08c24e0b00aedbcf40b5b51191a0e4a6180a1dd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-12 12:42:34 +02:00
Qt Submodule Update Bot b1d98bc6a1 Update dependencies on 'dev' in qt/qtdeclarative
Change-Id: I06809993439ba1da8dd8c1a0b763769d60fcde02
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2022-08-12 10:42:29 +00:00
Fabian Kosmale 9c2fd1724c Use QRE::matchView instead of match when argument is a stringview
The QStringView overload of match will be deprecated in Qt 6.8.
As a drive-by, replace a match(view.toString()) with a a matchView; the
view lives long enough, so no reason to convert to QString.
Also use capturedView instead of captured when working with
string-views, and hoist one regex construction out of a loop.

As the QML DOM has to build with older Qt versions, condition the use of
matchView on Qt being >= 6.4

Fixes: QTBUG-105360
Change-Id: If248d135fd381c6368d446376798a52dec220b40
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
2022-08-12 12:42:20 +02:00
Andreas Eliasson 2bd4ee37ff Doc: Split qmldir entries table into subsections
There are two main problems with the existing table:
* The user has to scroll horizontally to view all the content in the
  right column.
* It is difficult to link to the individual entries.

Splitting the column into subsections solves these issues. In addition,
add a list of all the commands in the qmldir file to get a quick
overview of the subsections that follow.

Also, make small grammatical fixes to the text.

Fixes: QTBUG-105239
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Ic33caedf317ae1d33ecc606cffc5d664490e242c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-12 08:54:47 +02:00
Mitch Curtis f2c87dda91 Doc: link to QML module examples from qt_add_qml_module page
Users need code they can copy, and qt_add_qml_module lacks examples of
e.g. main.cpp and its position within the recommended directory
structure.

Pick-to: 6.2 6.3 6.4
Change-Id: I29212b603bfd9cf24ecb327317be8f1410b2cfda
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-08-12 10:18:19 +08:00
Fabian Kosmale 3edebbb764 Reduce QQuickItemPrivate memory usage
- Avoid mixed type bitfields: There are compilers which generally
  support bitfields, but will not combine members if the type is
  different. Requires explicitly casting bitfield members to bool in a
  few places to avoid ambiguous overloads.
- Move all containment mask members into extraData: extraData will be
  allocated anyway to store the contains meta-method, so we might as
  well move the mask pointer there.
- Do not store quickMask separately; instead, cast mask to QQuickItem on
  demand. qobject_cast<QQuickItem *> is fast, as it only has to check a
  single flag.
- Do not store a QMetaMethod for the mask's contains method. Instead
  store only the index, and retrieve the metaObject on demand.

Change-Id: Ib2120c3b01ea037eb17c6c903a2977c38cd6c40c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2022-08-11 14:58:55 +02:00
Richard Moe Gustavsen b51ad14bc6 QQuickTableView: clear selection on tap directly in TableView
Before 6.4, it was only possible to make a selection in
TableView by using a SelectionRectangle. But in 6.4, you
can also make a selection directly in TableView by using
the shift+arrow keys. To make sure that a selection is
cleared either way on tap, move the implementation that
clears the selection from SelectionRectangle to TableView.

Pick-to: 6.4
Change-Id: Ic718763bf9b643cb3e3c04cc3b90c6ffcf9ca4b2
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2022-08-11 14:58:35 +02:00
Maximilian Goldstein e86a38f20f qmllint/importer: Fix hasSystemModule not being set properly
Previously we didn't set this flag properly if there were multiple modules
that were imported.

Change-Id: I05d81bc82f69e038a82131e20c23fb9dd497e9cc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-08-11 14:53:36 +02:00
Fabian Kosmale 84dd339e2e qmlformat: Preserve variable declaration scope type
If the user used for(let x;...) we need to preserve the let and must not
change it to var.

Pick-to: 6.2 6.3 6.4
Fixes: QTBUG-105361
Change-Id: I49fc3797505b569cc9b8a9138dd57ec7e70d3eb9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-08-11 08:46:05 +02:00
Laszlo Agocs f9280d48fc Renew tst_rendernode
For one, the Qt 5 autotest remained entirely disabled (with individual
cases all skipped) in Qt 6. Two, most of it is meaningless in Qt 6,
the state changes and the associated flags which are mostly ignored by
the renderer due to the QRhi-based architecture.

Replace the whole test. Start small, and have a test case that renders
using QRhi while exercising the modern QSGRenderNode features, such as
taking the projectionMatrix() into account and specifying
DepthAwareRendering, accessing the QRhiRenderTarget/QRhiCommandBuffer,
etc. This ensures that the basic functionality is not completely broken,
which is important for Qt Quick 3D for example.

For now have just one additional test, a very basic OpenGL one, to make
sure there is an OpenGL context current.

Fixes: QTBUG-105468
Change-Id: I05f4651e2d6b4b0760929aecdd32841ca69fa55c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-09 20:25:57 +02:00
Richard Moe Gustavsen 825e0d6738 doc: fix spelling error in qquicktreeview.cpp
Pick-to: 6.4 6.3
Change-Id: I6eb1744f0abbecc9402a57f74cfd285eefe300f4
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2022-08-09 17:13:35 +02:00
Jani Heikkinen 090f07a503 Revert "Make find_package for qmlsc look only in host qt"
This reverts commit 80cb4091d6.

Reason for revert: QTBUG-105488

Change-Id: Icead8f91349e3a57ca455b0a39ffa93caddda947
Pick-to: 6.4 6.3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-08-09 11:42:02 +00:00
Joerg Bornemann 59cb659b5c CMake: Skip text manual test for top-level builds
Otherwise configuration fails due to not finding moc for AUTOMOC due to
the tests using non-internal target creation APIs.

Change-Id: I7df3d395bd253f5bc943fab8218aa9611ad8a02a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-08-09 09:39:34 +02:00
Andy Nichols 28b919688e Do not try to create unsupported compressed textures with Metal
The previous logic attempts to create the texture anyway and will handle
it gracefuly if the texture creation fails, but trying to create an
unsupported texture on Metal causes a validation failure, so now the
code should bail out earily and print a warning instead for the Metal
backend.

Pick-to: 6.4
Change-Id: I9cd8a4c4b15107f4a819cb108b578db9a7a4e643
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2022-08-08 17:19:35 +02:00
Laszlo Agocs dcbea32105 sg: Expose the projection matrix on the QSGRenderNode itself
Turns out that implementing "proper" QSGRenderNode subclasses is
not quite straightforward in Qt 6. If a rendernode wants to
query the projection and modelview matrices, and store something
calculated based on them somewhere (e.g. push to a uniform buffer),
this is not actually possible to do in prepare(), only in render(),
and that is is no good when working with QRhi or some modern API.

For rendernodes that do not query the scenegraph's projectionMatrix
this is not a problem but for those that want it, there needs to be a
way to access it outside of the RenderState interface, because a
RenderState is only passed to render(), not to prepare().

[ChangeLog][QtQuick] Added a projectionMatrix() accessor to
QSGRenderNode.  This way a reimplemented prepare() can query both
matrices and can load the final modelview-projection matrix into a
uniform buffer for example. Previously this was only possible in
render() because the projection matrix was only exposed in the
RenderState. With QRhi, or modern APIs such as Vulkan, that is not
quite sufficient since it is more than likely that one will want to
calculate and store the matrix in prepare(), not in render().

Change-Id: Ic6ff734962381ee7b199329bf2a37b218c09dc2c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-08 11:42:00 +02:00
Ulf Hermann af1ef35fa0 JSON: Properly handle bad objects in JSON.stringify()
For objects with circular structures we generate a proper error message
and fail earlier. For objects with excessive recursion we throw a range
error rather than crashing.

This behavior is modeled after node's behavior in such circumstances.

We use the existing stack overflow detection to determine when to throw
the range error. Testing shows that on windows the limit was
insufficient. Lower it.

Pick-to: 6.2 6.3 6.4
Fixes: QTBUG-92192
Change-Id: I25dd302f65f359111e42492df3c71549c4ed7157
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-08-07 18:08:49 +00:00
Richard Moe Gustavsen 5a8ac8f3d5 Native style, StyleItemScrollbar: don't draw the scrollbar as sunken when using an override state
When we specify an override state from QML, like NeverHovered, we
also don't want the scrollbar to be drawn as pressed (sunken).
The point with the override state is to lock the image to a
certain state that doesn't change.

This will fix a drawing issue on macOS, where the scrollbar
becomes far too dark when you drag on it.

Pick-to: 6.4
Change-Id: I7f62e7ebd6d1ebbe808e035f63485ed292661bc1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2022-08-06 12:14:44 +02:00
Sami Shalayel 9a509f2733 qmltyperegistrar: test warnings about duplicate exports
test that warnings are emitted for duplicate exports. Also, added
missing dependency in CMake for tst_qmltyperegistrar.

Fixes: QTBUG-103189
Change-Id: I7e26cd0de2f9a404c7c02822baef6eafa4f51c11
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-08-05 13:03:34 +02:00
Mitch Curtis c51f531fa7 Doc: improve Exporting 9-Patch Images section
- Add Affinity Designer.
- Use full product names, otherwise Affinity Designer would just be
  "Designer" if we were to be consistent with the existing section
  headers.
- Sort sections alphabetically after these changes.

Task-number: QTBUG-105337
Pick-to: 6.2 6.3 6.4
Change-Id: I2441966eaa41cf2cec5b024b2611ada09a0721c2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-08-05 13:05:43 +08:00
Mitch Curtis f927e2a57c Doc: link to Sketch template and generated asserts
So that users can easily use them as a starting point for their own
assets.

Task-number: QTBUG-105337
Pick-to: 6.2 6.3 6.4
Change-Id: Ib2b4b2f38f32f55808c8b7e9d95dce91ae7b6d00
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-08-05 13:05:41 +08:00
Sami Shalayel dbe42f6435 qmltyperegistrar: refactor FILE* to QTextStream
Replace the use of FILE* in qqmltyperegistrar to QTextStream to make
qqmltyperegistrar more easy to use, as getting a FILE* to a temporary
file on any qt supported platform seems to be really complicated.

Uses QString for all QTextStream related operations as it formats
char16_t* as pointer addresses.

Change-Id: I2d1c71b22076d3083207b8d6fe20c7bb8a0c14ee
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-04 19:10:09 +02:00
Ulf Hermann 8358cbca4e Qml: Omit QQmlComponentAttached from qmltypes
It already exists in the builtins.
Amends commit 687609f2f3.

Pick-to: 6.4
Change-Id: Ic71252e0d78b4e033d5ea7deb837f719f9e4c5d9
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-04 17:10:09 +00:00
Thiago Macieira 1b1d0e0c15 tst_QmlCppCodegen: don't use QGenericArgument directly
Just create a dummy type that has the actual name. To make that
possible, export the property cache creator's class counter to the
autotests – otherwise, we cannot know the name of the actual type, as it
would depend on the order in which the tests run.

Change-Id: I36b24183fbd041179f2ffffd17026b224c9737fa
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-08-04 19:10:09 +02:00
Laszlo Agocs e56a0e198e Remove the separate rt/rp/cb getters/setters in QSGRenderer
With the helper struct (QSGRenderTarget) in place these are neither
needed nor help following the code. We can now also drop the
compatibility ctor from the struct.

Change-Id: I3f18630ed670788bf24e0d41ae788a0ad4ea1db5
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-04 19:10:09 +02:00
Jaishree Vyas 71c20290d6 Doc: Add default property values for QML
Details: Added default values in all QML value types.

Task-number: QTBUG-69883
Change-Id: Ie1dcdbf67f54e928394107e0770b71f7fe4c4e33
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-04 19:10:09 +02:00
Ulf Hermann 26da66cedf QtQml: Fix internal documentation of QQmlMetaType::qmlType()
Change-Id: I12cdde9f966cce362f1c855cd47288dcba064c55
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-04 19:10:09 +02:00
Laszlo Agocs 7702fe3cf9 Enable internally to access the RT and related in QSGRenderNode
A QSGRenderNode in a subscene that is under a layer.enabled: true Item
is rendered to a texture, i.e. a render target different from the main
(the window/swapchain) one. It also involves using different a different
renderpass object. QSGRendererInterface allows to query window-level
stuff, so e.g. the main render target, but that is not useful here. The
QSGRenderNode subclass needs a way to access these things.

Start with just another private member var., this enables Quick 3D to
implement its Inline render mode correctly. This can be turned into an
API on QSGRenderNode later.

Pick-to: 6.4
Task-number: QTBUG-105354
Change-Id: Iba97ded98b08a23b671f3729d8bab35fad1fd0e8
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-04 19:10:09 +02:00
Laszlo Agocs eee26818f1 Enhance renderpass-related notes in QSGRendererInterface docs
Pick-to: 6.4 6.3 6.2
Change-Id: I4285b9cbbc167350dff27906fd4d8ac1474495d4
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-04 19:10:09 +02:00
Laszlo Agocs a3f0ae13a7 Clarify QSGRenderNode docs
It talks about connecting to beforeRendering, but that approach predates
6.0 where in the end QSGRenderNode got another overrideable function,
prepare(). Mention both.

Pick-to: 6.4 6.3 6.2
Change-Id: I9e6fba6df38569917da3b3d318f9eb1894cceb9a
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-04 19:10:09 +02:00
Ulf Hermann 59ccd01b7e Revert accidental change to test262
Amends commit 0dc4fd240a.

Pick-to: 6.4
Change-Id: I8b74645becdfa91402f49156f77799dc5dd8ec5c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-04 12:41:17 +02:00
Fabian Kosmale 45e0c26aa0 qqmlpluginimporter: Warn about old plugins
Change-Id: I774b69839cc1c780ab1b46035b44fafa36c585b1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-08-04 08:42:18 +02:00
Ulf Hermann dd9434189a qmlls: Move back to bin
qmlls is a user facing tool. People are supposed to set up the editors
to call it. For that, they should see it.

Amends commit 399cdef52b.

Pick-to: 6.3 6.4
Change-Id: I495e830171636e187ce3fe592ff4b60959ce701c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-04 03:41:29 +02:00
Ulf Hermann fed5b07980 Qml: Don't crash on nested group properties with aliases
This fixes an oversight where in case of half-resolved grouped
properties we would forget to add the bindings to the "pending" list.
In addition we would fail to resolve their property caches later on.

Pick-to: 5.15 6.2 6.3 6.4
Fixes: QTBUG-94983
Change-Id: I88bd0ce56464438d2a105e5ed426e002495cc016
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-08-03 22:29:30 +02:00
Kaj Grönholm db4ea7790a Fix dynamically changing the image mipmap property
When the image mipmap property changes and component has been created,
reload the pixmap.

Pick-to: 6.4
Task-number: QTBUG-105277
Change-Id: I54113f3f3120dd79acf7ef67622cbc0444940c4d
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2022-08-03 12:30:22 +03:00
Laszlo Agocs c0bb8a0afb sg: Prevent not supported format warnings when wrapping external textures
Amends 1df2cf6bad

Clearly the intention is to continue using RGBA8 as the default when
nothing is specified, but then the unknown/invalid value is not handled
correctly in the conversion functions.

As a result, when running f.ex. tst_qquickrendercontrol one gets
warnings such as "VkFormat 0 is not supported". This is now avoided.

Pick-to: 6.4
Change-Id: I0dd2cda3fefe24a1bdac075892df5a6eb8796181
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2022-08-03 08:41:44 +00:00