| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Previously QQmlApplicationEngine did not handle any errors that occurred during object creation
(i.e. failures to initialize required properties) which lead to QObject::connect errors and to
the error messages not getting printed among other issues.
Change-Id: I69bc566a6d349c786cae82a963a621388684c8f5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 890cb4cb236333fd5b112fffc0e9088ecb43f2df)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an item was removed from the DelegateModelGroup before it was
completed it caused subsequent items in the model to be missing in
some cases.
The reason was that while populating the ListView, it iterated with an
index for each item to call createItem() on.
However, createItem() might call onCompleted (which in the case of
QTBUG-86708 removed the item from the DelegateModel), which caused the
next index we called createItem() with to be wrong (it became one step
ahead).
We therefore add a helper class MutableModelIterator, which keeps track
of if a index in the model got removed (and if the iterator index needs
to be adjusted because of that)....
Task-number: QTBUG-86708
Change-Id: I33537b43727aed4f2b9bdda794b011b6684c44b4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 0ff9db566c48172c688bf9327fe6a781dc4a1c34)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Change-Id: I132e6e932f9501b10398939821a5818dc3cd4f6c
Fixes: QTBUG-92078
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit da8776b98453ddbe08a08daf701a53fae9ede134)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I35eff2a66bec1738ee537f2ef81fb19300af4a48
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you have a TableView with only a couple of rows, and you add
a third one, the contentHeight doesn't update. This is fine if
not all rows are loaded (some are outside the viewport), but when
they are all inside, it should update to reflect the exact height.
The same is also the case for the contentWidth. If you add a new
row that increases the with of a column (and all columns are
visible), the contentWidth should update.
This patch adds an extra check when we do a rebuild (which we do
when you add a new row), to see if all rows or columns are
loaded. And if that is the case, we update contentHeight or
contentWidth, respecitively.
Fixes: QTBUG-92099
Change-Id: I806bfb7c3606fca97c5d27cbb91856cc40df9fb8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit d6a5afd120838647e0dd2a420dacf06389f0a48e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
On embedded and mobile it can happen that the Qt build has no Vulkan
support (because it is not there or not detected in the sysroot), and
while this is visible in the configure output, it is best to make it
also clear at run time.
Change-Id: I316671a04aba80d38d2f8514695f55b05fb94dbd
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 4b83ae6472b30626c3492442a91125830ce28ebe)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Binary compatibility files added
Change-Id: Ifccf803f8f2bcf1b5c857ae36fb7090700ffe4b8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit e8a0014cc847cc10247ffbe1d7e6f5b8e25738b8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I6137f6759f9e1605a3f49ac6b8b668a620f0ab18
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Change-Id: Ib18e8aa7acf2c5abd68578f4f4405a977d19d286
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
(cherry picked from commit 799495cb7da2aa47c6442f035b4e6a8a3efc5ae8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
This ensures that clang-tidy does not report it as a warning when it is
used on application code.
Change-Id: I5b84759ff87e7a5b9d119ef27650d92c86f9f831
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit c2634e14273b77f8e4cb77585ab9d7eb7880bf34)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the gesture begins, we begin multiplying the target item's scale
by 1.0 at first; it doesn't make sense to start immediately with
the accumulated scale remembered from previous pinch gestures, because
the target item remembers its own scale.
When QQuickPinchHandler::wantsPointerEvent() returns false because
some irrelevant gesture was received (for example a PanNativeGesture),
that's not a good reason to deactivate. Deactivating and re-activating
with each ZoomNativeGesture event results in extreme behavior, because
PinchHandler depends on the BeginNativeGesture and EndNativeGesture
events to reset internal state. Likewise, the fact that the button
state is NoButton is not a good reason for wantsPointerEvent() to
return false.
Added an autotest: the first of its kind that actually simulates the
native gesture events.
Fixes: QTBUG-92064
Change-Id: I3a9b92d70f99497ee58ad8557d90d521fbe16d41
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit fc636af3a723ee8b4ee42cf71864ae0df5ca4621)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it stood, we would return early from forceLayout if no items
were loaded. This made sense, since when no items are
loaded, there would be no items to lay out.
But after we changed the logic so that an application can
show or hide rows and columns by returning an empty size
from the size providers, we now always need to do a layout
to check if some rows or columns should become visible.
Fixes: QTBUG-92076
Change-Id: I2a07bf8e62cfeebcbe36c01aa92eca3ed8227cd3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 9ba9336ec4515d157a1207fad1dcd2de311527ac)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I5fd163de8a58bbcdc8ebed1d23c3bf6ee5d0058c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ief7dbd8a2ab870dccdc62f99573987329f91dfb1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit e1d178c3df130ba44259cf7a867f7f07552a974e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I1b82cc7f07449c0c67ec8c2ba252c1b46eb0ac7b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix static analyzer warning bff6cb4333f531d5a72f7bf6dc1485f6.
If ownership of viaData is not passed to the viaAction, then the object
might be leaked. Use std::unique_ptr to make ownership transfer explicit
and implicitly delete unowned objects.
Change-Id: I89f2a6b630941a98a74db302bc1ab08055c71974
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 78aea267209c34abeb4895712dc76c923aa46165)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I2642b973885f2af376b5c0d441e9483dd67d61c8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Atlas textures with size not greater than
QSG_ATLAS_TRANSIENT_IMAGE_THRESHOLD are not visible
Fixes: QTBUG-91182
Change-Id: I4e72e1c32c15b9e1a21cdb07262f219cc641bb5f
Reviewed-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit a7b32a3e893892fc96d58af110af568043f09e72)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 02c6e7bc3aca42a188b772aa9794b919e60017e7. It broke text
selection, the currentClipNode pointer must not be reset to nullptr even if
ownership is transferred to a node.
Change-Id: Ia66f7ed4be17916f3725bd3cb2cbd0e7c9d6327a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit 68324c56c1b8f4ad5dfcdc6f77abda3eedaf2dfd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ice772497b2c544c3f2f4d38fcbadb9ca43bcf43d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ia7a94f29314b6efab91bb959be4864e2fb9b4240
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I11331f0f0434f2888d1f64aa01f999f42a15bdda
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 13ab07e932725d8c76208c265b60031e37305704)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Make static everything that can be static. At the same time, make
configure() non-static. Does not change behavior in any way, but
this is the more logical approach. Also more future proof.
Change-Id: I601d59a0547106802f330a7551a97186cde481e0
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit fb8ba3f7250f837dd29600d30108ba6f4470a727)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The clang static analyzer warns in 3df1fff15a10a64372ed4f92ba05271f about
a potential memory leak. While that particular claim is a false positive
(the loop is always entered if sortedIndex is not empty), the re-use of
the currentClipNode variable makes it hard to follow the object ownership,
and there might still be a potential memory leak.
Use std::unique_ptr to force explicit transfer of ownership, and get
implicit destruction of objects not owned at the end of the scope.
Change-Id: If826e1d81b92f1da60aae2262b628dcaaa2e592a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 02c6e7bc3aca42a188b772aa9794b919e60017e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In certain corner cases there may be no stack frame available. As the
setting of the IP is only used for generating better error messages, we
don't have to care about that too much.
Change-Id: If249b96a97a2189ef0b2e83f7a057a001a4307cd
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4c4f39928b9b1cbd7623917d92c277ef256cf18d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The static analyzer found the case where it could actually be null
during delivery of a WindowDeactivate event. In other cases, we assert
rather than testing, until we know that it can actually be null. It
shouldn't often be null because it's created in QQuickWindowPrivate::init()
and destroyed in the destructor; however we've already seen races when
event delivery continues while the window is being destroyed. If more
such cases materialize, we can replace asserts with if()'s or check
the new inDestructor flag.
Fixes static analyzer warning 16738055c4c458145b59ad9b6bb643b5
Change-Id: I408e9a7d71a77fd29c2af91e59caf9ede6585af9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit fb69e86bee67a228ca581a8bfe3384da14398f76)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I367b4b914d1956a6312fcc6e8b16d47762248d41
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The tests are very likely to fail if window exposure fails, so verify
that it doesn't.
Change-Id: I484d10e6bf8fdf5199bef070198f5405ab8f249b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 80ee53c07c425f3d469dab5824572031fde6405e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I021c3354932584cb976d3529ff47f7a826731336
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 955181ebc554240cd8fa792a125369aeb56a2eb0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Iad239c170cfd21f9f22257311bfe4d61bcfe5016
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Id62f3dacb0665ddbd76505b4021a94ff5a1785f3
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I64c723877f4fc0a8f98a009dfb7f8f8056211c66
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I0b4d194c36906d1f0566e3fa7c49a5928a453f7c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Those are not only foreign types, but also extension types which add
additional properties. Thus we also need to mark them as QML_EXTENDED.
Change-Id: I7a0469f7760887318a2b34bc5fcb85f011c0b0bf
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 0aad1a6c3cb6e1e1e9892a328c0aa84814d94a5a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I7bd868c805e720fb70ecf4ce08389b2f103a1c7b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I4c77d07be312d1b96a31f6eb8430fd9accf36cdb
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If OUTPUT_DIRECTORY is set, all the QML files, as well as the qmldir and
the plugin should end up in that directory. We should not confuse that
with the install directory, which is separate.
For qt_internal_add_qml_module(), we can provide the defaults for both
OUTPUT_DIRECTORY and INSTALL_DIRECTORY. For the latter, don't support
a separate INSTALL_LOCATION keyword, only use INSTALL_DIRECTORY.
With these changes, qtbase no longer has to contain qml-specific
logic for these paths in QtPluginHelpers.cmake.
Refactor the way arguments are collected and passed through to the
internal call to qt6_add_qml_module(). This simplifies the code and
also exposed that QML_FILES was not being identified as an allowed
argument, TYPEINFO was the wrong type of argument and DO_NOT_INSTALL
was not a valid argument (or at least was ignored).
The qt_internal_add_module() function was also duplicating logic that
was largely already implemented by qt6_add_qml_module(). Rework
things a little to remove that duplication.
Task-number: QTBUG-88763
Change-Id: I629ff63a9f8302c79694970f7b8e664a2b5d587b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit c42d558dc9ff89d452546412ee88a16ae1e324e4)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I83301a1b8de7e184ce4782138986ff25deb17c0c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91717
Change-Id: Id19e08589206253b96c76bc40a799ccd95b0e0bf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 9970ebb277db5f11c8a7e72099fdd056a6d8310c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Connections could accumulate. Because the newest one was invoked
last due to how signal-slot invocations are ordered, rendering
was correct, but the stale connections caused unnecessary updates
(and wasted a small amount of memory).
This comes from a misunderstanding I had at the time about how
QMetaObject::Connection works. Destroying or overwriting one does
not affect the actual connection.
While at it, also modernize the connect().
Change-Id: Idde81bdbff8947ed517bf2740d623a395c0acb74
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 9f8292d48913c5bc50377749c2b3e030cf16d703)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I9d5da0b98caf3015a3637deb43ea363cdd30ad7c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-91276
Change-Id: I1ddbb4a3326d61ff94e3881beb64a14dade11c46
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 31ad81d81e623a34cd71567b9507f16601f1c1d4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: If390f42c6c799a8b7122e67409c4ec328df40b1b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
fuzzyCompare() messed up the arguments and compared the first color
argument with itself (ignoring the second color).
Fixes: QTBUG-91694
Change-Id: I86453c937e27a2112f8375b144ca21a9d088f017
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 35a0c2552f17e40d3584af422a3c5fe75c700d0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ia6f987ab8239f2b377eb96e1f155e4aa735cf296
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
We need to remove all the QML-specific arguments.
Change-Id: I99a1712251c5cf9cb6dfe399a2f1177d435a2af7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 078bf865360391d960421cacc5e0d58a6bb07a11)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: Ic3a11d24fdc02fa383350997083b38407d75feab
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit ef16f8876d70c9fab4780f5063dc463e38ba3056)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a UNC path is used to locate the qmldir then when it is checked
later on the original path will be compared against the one that QUrl
returns. However, QUrl will convert the case of the host name to be
all lower-case whereas the original string may have been in upper-case.
For example, QUrl::fromLocalFile("//QT-L-R90X9VHB/tasks").toString()
will output "file://qt-l-r90x9vhb/tasks".
So in this case, the absoluteFilePath is changed at this point so that
it will match what QUrl has for the same path to avoid a problem with
it no being found.
Change-Id: I2cd5d74bfec06c01635f80574ac1a6d479792855
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit e0400d08755bb40c303bbe330bc3bd6045436c22)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I31b49216597c0866ffcd3275838c2d6028a2e843
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously HeapObject::GeneratorObject utilized a ValueArray member to store stack information.
As we rely on all HeapObject members to have a constant size in order for QV4Table::inlinePropertyOffset
to remain accurate, this lead to a memory conflict when a user defined his own property on the Generator.
Please do not use ValueArray for any types that are user accessible or that you intend to add properties to.
Now the stack information is stored into ArrayObjects instead which circumvents the issue.
Fixes: QTBUG-91491
Change-Id: Id6f638bf36a3ae3c9320ac99e67214c48dc81226
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 7ea690c61dabd2485e80e7fae9aed392ba02c846)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|