| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
The only difference in the function is moved into dataPrivate.
This is the 9th patch in an attempt to make them more similar and
eventually merge common pars in a common abstract class.
Task-number: QTBUG-138703
Pick-to: 6.10
Change-Id: I6b247121f64b070ee31846a5da4be9ad1abb93be
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only difference in the function is moved into setDataPrivate.
Q_STATIC_LOGGING_CATEGORY lcTreeModel is no longer used.
This is the 8th patch in an attempt to make them more similar and
eventually merge common pars in a common abstract class.
Task-number: QTBUG-138703
Pick-to: 6.10
Change-Id: Id7a7166a7dd31a5ab3908e68571bc802729798a3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For applications running under Qt Wayland compositors, touch events may
be accompanied by fake mouse moves coming from the touchscreen device.
That might or might not be useful: but since most of Qt Quick ignores
such stray mouse moves, and PinchHandler was getting deactivated by
them, we now make an effort to avoid delivering them to PinchHandler
after it has become the exclusive grabber of those touchpoints (which
looks the same as being the grabber of "that" mouse).
Added a reminder to the handlePointerEvent() comment that tablet events
are different: hover events are not enough, in fact we need to deliver
TabletMove events to HoverHandler so that it has a chance to change the
cursor (i.e. keep the tst_HoverHandler::deviceCursor test working).
Pick-to: 6.8 6.9 6.10
Fixes: QTBUG-123985
Change-Id: I513caf277e2fb87401b3e0bb5547f9623467b423
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the previous stable sort + filter approach with an in-place
compaction loop that moves valid batches forward and recycles invalid
ones immediately.
This removes the need for temporary heap storage and avoids redundant
copying and sorting, while preserving the original order of valid
batches.
Change-Id: Icbe2c3d96b5d38a0a1f2c14ce175eb19d45d5a63
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The method incorrectly returned m_dirty_vertex_data instead of
m_dirty_index_data.
Pick-to: 6.10 6.9 6.8 6.7 6.6
Fixes: QTBUG-123988
Change-Id: Ib99175adabc711c8449ff3db755fbade968f7c63
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The container reorders the content model items after component
completion. The content model can be assigned as a model to the item
views to visualise through a container content item. The content item
can have item views anywhere in the object hierarchy. If the item
views are somewhere down in the line and not at the top, there is
a chance during component completion that some of the items are
reparented to the item views, and others are with the container
content item itself. Thus, reordering at this stage (having partial
items) can lead to changing the order of elements within the content
model, which further causes repositioning of items within the item
views.
This patch resolves this issue by skipping reordering the content
model, if any of the items are not reparented to the item views.
Fixes: QTBUG-138490
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I1673e600774e2821653542c003d2d573f62d024d
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
QT_USE_NAMESPACE was missing, so they didn't compile with namespaced qt.
Pick-to: 6.10
Change-Id: Ic4b1126cfab7780c714a737e81f0947664bade02
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The Text::wrapMode has been referenced incorrectly as Text::wrap and
its corrected in this patch.
Fixes: QTBUG-137733
Pick-to: 6.10
Change-Id: Ieb1ab02e19bc929f103443f0845a8980daceb245
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We construct the iterator from the exports of the module in all current
code paths. Therefore, this case can't happen in the current code.
Still, the fact that we have a branch that throws a reference error
there tells us that it's intended to work on other collections of names,
too. Let's complete the check and also check for nullptr since
resolveExport can indeed return that.
Coverity-Id: 486706
Change-Id: Ieaf3996e76265e9e6ef59c2168699e47e41e8ff5
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
|
|
|
|
|
| |
Change-Id: I2fc82de562909ab2e0eecfbbe1e2e53953a33756
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
stringValue() already checks isString(). We don't have to do it twice.
Coverity-Id: 486710
Change-Id: I074228f9a120c3bbfe6d4a65f05fe11322fbd07b
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
|
|
|
|
|
|
|
| |
Coverity-Id: 486699
Coverity-Id: 486697
Coverity-Id: 486715
Change-Id: Icdd15ff578f8be55fe9db3ffc38e893f667edc40
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
|
|
|
|
|
|
|
|
| |
The propertyList is an array allocated on the JavaScript stack. None of
it can be null.
Coverity-Id: 486709
Change-Id: I3178181aa89bfff86fb5aa469660a912b4f1691c
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The method is (going to be) removed in 6.11 and is currently producing a
compilation error, as the method is marked `override` but is not
overrinding anything anymore, on current development builds that use a
recent qtbase.
Follow along the base class path and the resolution method in similar
patches (e.g for Qt Creator) by removing the method in its entirety.
Change-Id: I6a334681764d9589317ef2121691f8d4e7888b98
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
tst_QQuickPopup::closePolicy and cursorShape are no longer flaky on
openSuSE 15.6.
Unblacklist both tests.
Fixes: QTBUG-94251
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ic27016893b91fb38c8869c4e357be7b1b88dc45a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QQuadpath did not maintain the isSubpathEnd-flag, so it would
typically be lost during path processing. Fix to ensure that
algorithms that test for it work correctly.
Pick-to: 6.10
Change-Id: I793b06ef87087cce4a4545bcd7fd2e20ca3790ad
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The svgtoqml tool has been updated, so we need to update its
generated files as well.
Pick-to: 6.10
Change-Id: Ie58653c35e99e0c1119a9bf64d803371d31261e5
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both QQmlComponent's constructor (the "compile" phase) and create()
(the "create" phase) can produce errors, according to
https://doc.qt.io/qt-6/qqmlcomponent.html#errors.
This fixes a crash caused by an error in the QML, which the tool would
then silently ignore and try to access nullptr items.
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I2ba6301f8f1f5cd4d804eba290606cf48b584ddb
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlComponent has two stages where it can produce errors that weren't
accounted for in the first example (which is what most users will see
first): in its constructor and in create(). Add error handling for
these so that users aren't confused when their QML silently fails to
load or they get crashes trying to access non-existent objects returned
by create().
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I42d0222a997b3cac01cd191bb076513642f5716d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added braces to the m_hasQueuedStatus check for consistency
and to prevent potential errors if more statements are added later.
No functional changes.
Amends 76bb559e5fbf2dfaf017f8b4a3435938b4d5f4fa
Pick-to: 6.10 6.9 6.9.2
Change-Id: Ic465f41cf08aed0f3f6222786f8fa13f8657d385
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These binding loops were introduced in
0e4d470d3df3963db3546f94e580994473052283, since the nested
overwriteConfirmationDialog's width were still determined by the contentItem,
but the contentItem's width depended on the overwriteConfirmationDialog's
width.
This resulted in a binding loop, which could be fixed by giving the
overwriteConfirmationDialog an explicit width.
Pick-to: 6.10
Change-Id: I3bb2957fd31710b093eb7f7e887df8f045809921
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SideBar were facing two major issues.
The first had to do with the buttonDelegate's `required icon` line,
which didn't work after 7322e051c9c3d8dc715c20a3d42d9be83ea2295c,
resulting in an error during component creation.
The other issue had to do with the icons qrc paths only working for the
Basic style. Since the paths were relative, they'd assume that no file
selectors were being used, and thus a simpler path resolution.
This caused all non-basic styles to resolve the url to an invalid
resource.
The first issue was fixed by removing `required icon`, and the latter
was fixed by using complete qrc paths.
In addition, we do a small drive-by fix, by putting a user facing string
into qsTr().
Pick-to: 6.10 6.9
Change-Id: If6cd7ab638ec349b39fe0e4bc763ead78a51a0f4
Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
As highlightedIndex property is added to SearchField, relevant style
implementations that previously relied on currentIndex have been updated
to use highlightedIndex.
Pick-to: 6.10
Change-Id: Ib8bc065c92aa95a1ea5ea3cd5c3825bbd15c2f2d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QJSValue is slow and can be avoided. Use more specific types.
Also, switch to an exception based error handling instead of
returning undefined.
Amends 5e312953f6c41f244344bbd05a41f205a8d3f86d, found in API review
Pick-to: 6.10
Change-Id: Ie7c304a0dd76c8096e7c1f9b7cc3cfe7471649da
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The engine handles this just fine, and we had examples (and probably
documentation) shownig this pattern.
If we want to warn about it, it should have a dedicated warning.
Pick-to: 6.10
Change-Id: I105f4a49ecfc6fbd5f00c683e0dbef7d34a64a1d
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want QRangeModel to be the preferred mechanism for exposing C++ data
to QML. Ideally, it will also be a replacement for using QVariantList or
QObjectList, without the "quirks" of exposing a value type holding
references, modelData vs named roles, no write-back etc.
To make sure that the respective usage patterns don't break, add a test
for QVariantList and QObjectList, and corresponding tests that use
QRangeModel with equivalent data structures.
The test shows some unexpected and excessive calls to both data() and
setData() implementations of QRangeModel, which are QEXPECT_FAIL'ed for
now. Unrelated to this test of QRangeModel, so leaving that for a future
commit.
Pick-to: 6.10
Change-Id: I870c78d845de507dafd27f6999154a1a7ea92a1b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: I0204e4ca1ee787b7f7c8a5f8d980475554a50aac
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was already done for FileDialog, but not for FolderDialog.
It prevents a crash.
Amends 87f6e63dfc32e4eac861f3490cb961dfbb028b23
Pick-to: 6.10 6.9 6.8
Change-Id: If6ab9152b9f1f5dcef92dfa891d09202968ef81e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 6.10 Qt i18n component allows mixing id based with text
based translation and this is reflected in lrelease, lupdate,
and documentation.
This patch is a partial revert of
8b61addfa42525c1bd5f27febbe62dcbdb645fc9 and removes the
qmllint warning in the case of mixing these two.
Pick-to: 6.10
Change-Id: Iae2407da2bc5cc21fc3664051834c99b8c72fe58
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use qt_internal_add_RunCMake_test instead of add_RunCMake_test to
ensure Qt specific behaviors are applied.
Pick-to: 6.8 6.9 6.10
Change-Id: Ia751f66cd4cd76e76ea0bb5e31f4b8372b2ca22a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Amends e0791e838daeb0dc99a3f28270bbfda3214a9fbf.
Pick-to: 6.8 6.9 6.10
Change-Id: I8bf20c2cb01e1ff8e261fbb0c596a5b6b6c8aa68
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
|
|
|
|
|
|
|
|
|
| |
This commit adds some tests for QtQuickView and QtQuickViewContent
signal listeners that are registered before the QML is loaded.
Task-number: QTBUG-137057
Change-Id: Id10420186399cb49d63f281ae195eeacf325250d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
| |
Update return value and behavior descriptions in
QtQuickView/QtQuickViewContent::connectSignalListener functions.
Change-Id: I566b5c7940c74daec6f20072d2db35bb66d3f86f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use SignalQueue, implemented in an earlier patch, in QtQuickView and
QtQuickViewContent to handle connecting to QML signals before the QML
is done loading, in these cases:
* QtQuickView: If the underlying QAndroidQuickView object has not been
created
* Once the QAndroidQuickView is created and the view reference is
set, we can send the queued connections to the C++ side safely.
* QtQuickViewContent: If the Content has not been attached to a
QtQuickView
* Once the Content has been assigned a QtQuickView, we can send
these queued connections to the QtQuickView safely. The
QtQuickView may or may not queue these as well.
Task-number: QTBUG-137057
Change-Id: Id84fb184d2d60a95f0ffb77896d0c553d7f52338
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This class will be used in both QtQuickView and QtQuickViewContent, to
keep track of queued signal connections and eventually process them,
connecting them to the QML view.
This class also introduces an internal class to represent the data
required to make a successful signal connection, to assist with storing
the data.
Task-number: QTBUG-137057
Change-Id: I798dbf0c0b377f2bf07874b17b83d493aa4905d9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
So that later patches can return valid values from the API when
connecting to signals of QML views that have not been loaded, the Java
API must be able to generate listener IDs. These calls can even happen
before the Qt libraries are loaded.
Task-number: QTBUG-137057
Change-Id: If2cafe8fd65841d2bcfc4a079939d81a279c7982
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a queue mechanism and API in QAndroidViewSignalManager
that allows callers to add signal listeners before the QML view has
been loaded.
API Added to QAndroidViewSignalManager always returns true, but might
still fail if a signal with the desired signalName does not exist. If
using the QtQuickViewContent API, this should never happen, but with
the QtQuickView API, this is a possibility with typos or signal names
that are computed with some logic in code.
Internally, QAndroidViewSignalManager listens to the
QQuickView::statusChanged signal to detect when the QML view is done
loading.
Task-number: QTBUG-137057
Change-Id: I2ea95f096517f2b7f45a60f236923d42cb5cf1fe
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
| |
The singleton is in the wrong folder, and is missing a qmldir entry to
be valid.
Change-Id: I7d9d12681d025f6ca257cc1cfbcfb02fc977721d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using namespaced Qt, we need to prevent symbol clashes with symbols
of the same name.
* namespace some publicly visible classes
* hide classes in implementation in an anonymous namespace
* rename read/write to readValue/writeValue to avoid name clash with c
functions.
Task-number: QTBUG-138543
Pick-to: 6.10
Change-Id: Ica77462c1f81f1e01cc60477e5b56ecfe3c1abb4
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Flagged by qtcreator/clangd
Pick-to: 6.10
Change-Id: I155d56e89d47e7c09cd7d1b5cb6ade13af565671
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
e7b90cfc31e9b651fd4895944f84d78aa637f120 changed the default to 1
second, which results in confusing failures where 1 second is not
enough... but it also was (QTBUG-139036). Many animations are 1 second
long, so bump the default timeout to 2 seconds.
Task-number: QTBUG-138662
Change-Id: I9b38e6cdbecda17cc2be65e93be4bdc7b8b0a529
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the error message for an invalid import qualifier did not show the qualifier name or explain what was wrong.
This change adds the qualifier name to the message and says it must start with an uppercase letter.
Pick-to: 6.10
Fixes: QTBUG-133313
Change-Id: I0bd4bb143f7b4cdc3b26cae73ab42a4fb05977b1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This is the 7th patch in an attempt to make QQmlTreeModel and
QQmlTableModel more similar and eventually merge common parts
in a common abstract class.
Task-number: QTBUG-138703
Pick-to: 6.10
Change-Id: Ie73ae28617efd83d2644c7a745eb7c583c0b68e6
Reviewed-by: Mate Barany <mate.barany@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found in 6.10 QML API review
amend 9601b74dabed53e93a7a5144d4c1fadb7876db18
Task-number: QTBUG-137478
Pick-to: 6.10
Change-Id: I3a26307f304277dfd259da3736d1069a43c0cd03
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found in 6.10 QML API review
amend 9601b74dabed53e93a7a5144d4c1fadb7876db18
Task-number: QTBUG-137478
Pick-to: 6.10
Change-Id: I11fcf5317add4c07e211cff70d3b2e86bd470000
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Determining the fill side of a segment would fail if the path
contained an overlapping segment in the opposite direction. If a
subpath started with such a segment, the resulting fill could be
incorrect. Fix by iterating over the subpath for a segment with a
determinable fill side.
Fixes: QTBUG-133247
Pick-to: 6.10 6.9 6.8
Change-Id: I07c4f884d525b19af93609bcb31b412d340bebd5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids the need to run qt-cmake-standalone-test and then import
the test, as described in QTCREATORBUG-25389.
Task-number: QTBUG-93020
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: Idafddadfa91f5de9503983a22089fa6d8408ca4d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add null check to avoid accessing enginePriv after it is set to nullptr.
Pick-to: 6.10 6.9 6.8 6.5
Fixes: QTBUG-138927
Change-Id: I180828066a100465694337c4378139cfd9e4ab06
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The warning was:
QWARN: tst_QQuickMenu::FluentWinUI3::nativeStatic() qt.qpa.menus: QPlatformMenuItem(0x60c0001c5040) does not belong to <QCocoaNSMenu: 0x6070000884a0>
Title:
Supermenu: 0x0 (None), autoenable: YES
Previous menu: 0x0 (None)
Next menu: 0x0 (None)
Items: (
)
In nativeStatic.qml, we have an item tree that looks like this:
Menu {
Action { /* ... */ }
MenuItem {
action: Action { /* ... */ }
}
Menu {
Action { /* ... */ }
}
}
Removing the first two menu items of the top-level menu works. When we
get to the menu item for subMenu, we see that it has a Menu of its own,
and so we call recursivelyDestroyNativeSubMenus. That removes all of
the menu's native items, and at the end it does this:
menuPrivate->resetNativeData();
Here, menuPrivate refers to subMenu's private object. This line severs
the connection between subMenu and menu, which leads to the warning. We
then return from recursivelyDestroyNativeSubMenus and end up here in
QQuickMenuPrivate::removeNativeItem:
if (nativeItem->handle()) {
handle->removeMenuItem(nativeItem->handle());
syncWithNativeMenu();
}
The removeMenuItem call then triggers the warning.
To fix this, we need to have control over when resetNativeData is
called, so that we can do it after the removeMenuItem call. Do so by
rewriting removeNativeItem to be recursive, and using it in favour of
recursivelyDestroyNativeSubMenus, which we then remove.
Improve internal docs while we're at it.
Pick-to: 6.8 6.9 6.10
Change-Id: I4955a5e4d8e5aa5c9d46873b8b3a27f65446ea35
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dialogs uses QFLAGS to bring in various classes via related
meta-objects. The goal is to expose specific enums in the QML API.
What it does instead is to expose all enums of those classes at runtime,
but not to tooling.
Switch the code to use QML_EXTENDED_NAMESPACE, which also exposes all
enums at runtime, but also to tooling.
Task-number: QTBUG-137075
Pick-to: 6.10
Change-Id: Id8d5858575a445f957572fc090df482db1b6fce8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|