| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I9f0d5adf1ba7d3246b1107a20d145e7aac2c7a77
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the context is gone, we assume that the object is
currently torn down. Therefore we do not print an error
message in that case.
Fixes: QTBUG-82809
Change-Id: I74e5a4f41490ea9c13639c158a4d5fc0a52a38a4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-82605
Change-Id: I015547da20dd38c4de75f21c1896d53e1ca355c2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is needed by HorizontalHeaderView when assigning it one
dimensional models.
Change-Id: I183f0d35b8f3a97853fc7496dc68b0e13e9be990
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The type names are expected to be UTF-8 and we don't need to keep
temporary meta types.
Change-Id: I676d04d8733ef0ea3e159038d4973753350572bf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is actually not needed, and declining to cancel the incubation leaks
memory.
Change-Id: I478ed2a4eef34bd27c716762a2fced1e9091607c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes the memory leaks from the "x items in the process of being
created at engine destruction" situation.
Change-Id: I65fe278ead3d4de0cbddc075972a6774b231814f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I506c944fe3a472b3950d66167089054e91dd942c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Letting them leak makes ASAN report false positives.
Change-Id: I59dfcdffa380294cada9b79c11af0faaab38e3a0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We _can_ provide a default implementation for expressionIdentifier() -
it doesn't have to be located in QQmlBinding as it only uses fields from
QQmlJavaScriptExpression.
Change-Id: Ifcead72c4f3ed4597cde732afca466eba83f5e0d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These properties are useful for items within StackLayout to get access
to their index within it, especially when those items are
declared in their own QML files. Similar API already exists for e.g.
ListView and SwipeView.
[ChangeLog][StackLayout] Added attached index, isCurrentItem,
and layout properties.
Change-Id: I648d4434ab21573b56edd9a0f8399463946fd571
Fixes: QTBUG-76999
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This class is not a private detail of QQmlContext. And it is incredibly
hard to see who owns what in there. Let's add some civilization ...
We enforce refcounting for QQmlContextData across the code base, with
two exceptions:
1. QQmlContextPrivate may or may not own its QQmlContextData.
2. We may request a QQmlContextData owned by its parent QQmlContextData.
For these two cases we keep flags in QQmlContextData and when the
respective field (m_parent or m_publicContext) is reset, we release()
once.
Furthermore, QQmlContextData and QQmlGuardedContextData are moved to
their own files, in order to de-spaghettify qqmlcontext_p.h and
qqmlcontext.cpp.
When the QQmlEngine is deleted, any QQmlComponents drop their object
creators now, in order to release any context data held by those.
Before, the context data would be deleted, but the object creators would
retain the dangling pointer.
[ChangeLog][QML][Important Behavior Changes] QQmlContext::baseUrl() does
what the documentation says now: It prefers explicitly set baseUrls over
compilation unit URLs. Only if no baseUrl is set, the CU's URL is
returned. It used to prefer the CU's URL.
Change-Id: Ieeb5dcb07b45d891526191321386d5443b8f5738
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is there to stay consistent with C++, where MatchRegExp
is deprecated and will in Qt6 be an alias to MatchRegularExpression.
Change-Id: Ibbb0885dddebaba3464e93cc6a0d05e94c01f4e1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I6f320ea43b5837444226228c118e57c4bda8702a
|
| |
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-82705
Change-Id: I78a614c47a0f7d95b2a215d94e964c1202d89bcf
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I50ee4c014acf3f95d00a38c6d115776143688c8e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Calling updateTexture() from an updatePaintNode() implementation means
we are still in the synchronization phase, with the render step (as in
QQuickWindow::renderSceneGraph()) not started yet. Make sure the
QRhiCommandBuffer is sent around early enough, so it is usable by
QSGRhiLayer already during sync.
There is no use case for this in Qt Quick itself since all standard
items invoke updateTexture() from QSGNode::preprocess() (which is part
of the render, not the sync, step), but Qt Quick 3D relies on this in
Texture.sourceItem.
This should fix the sourceitem manual test in Qt Quick 3D, so that it
will not crash anymore when running with RHI enabled.
Task-number: QTBUG-82927
Change-Id: I38adf512e49b1c6eef4730cd23663d351725d6cd
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The global static map of file selectors is not thread safe. If you add a
file selector to engine A running in thread 1, you cannot at the same
time retrieve the file selector of engine B running in thread 2. Alas,
we only need the static map to discern file selectors from other URL
interceptors, and we only need to do this on QQmlFileSelector::get(),
which we don't use. Unfortunately it is public API, though.
Deprecate QQmlFileSelector::get() and add a different hack to discern
the interceptors for the case that it's still called. Also remove the
duplicate setExtraSelectors() method.
For this to work, we also add a method to QQmlApplicationEngine that
allows us to pass extra file selectors and delay the initialization of
QQmlApplicationEngine's QQmlFileSelector until the first file is loaded.
[ChangeLog][QML] QQmlFileSelector::get() is deprecated. You can use the
new method QQmlAplicationEngine::setExtraFileSelectors() to pass extra
selectors to QQmlApplicationEngine's internal QQmlFileSelector.
Manually created QQmlFileSelectors should be configured immediately
after creation, before they are used by the QQmlEngine.
Change-Id: Ia61a93777dc910b441a03ffb42d35a2a224c0e26
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I413cbce42d7405b17eff18293a68c2a26f30fd08
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The qqmlecmacsript required changes, because the call to id makes the
type now known to the QML engine.
Change-Id: I73aed804ae8769c71676b44d8450e1dabf5baa6d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tools/qmllint/findunqualified.cpp
Change-Id: I2593b5cc0db1d14e0c944aec4b88a80f46f5b0c1
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I0e5e9e42b7c81e1fa5d6abde6bd6346dbc2f14ff
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic52fa388711a76d729ae28678932f4a150da9583
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After processing all other imports, there might be other imports both
in front and behind of the inline component imports in the import list.
To avoid having to search for them, we sort the list so that they are
in front.
Fixes: QTBUG-82302
Change-Id: I9f6deb03608b1ebd0cbe0eddd1a1e5d39837a783
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The command is deprecated and has no effect apart from generating
a documentation warning.
Change-Id: I4a873359a8e795b8807371470b2da148a4077cbe
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-82843
Change-Id: I1ea4a52b33e7d318525e63346eab46ecf7a8fec0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It looks like this has never been used since 5.0.
Change-Id: I1038a9f15f05b5476515cf2d35931f992e77fbbe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cannot just rely on a render() function, need a point where the "prepare"
step can be performed, outside the main renderpass.
Also enables proper m_useDepthBuffer handling for the RHI code path.
Task-number: QTBUG-82797
Task-number: QTBUG-82793
Change-Id: I525228e53acefad9f2e6a33d446260a1521d8ae1
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Being careful, we can now save primitive values inline. We use the heap
pointer of QV4::Value as either QString* or QV4::Value* for complex
types. We cannot store persistent managed QV4::Value without the double
indirection as those need to be allocated in a special place.
The generic QVariant case is not supported anymore. The only place where
it was actually needed were the stream operators for QJSValue. Those
were fundamentally broken:
* A managed QJSValue saved and loaded from a stream was converted to a
QVariant-type QJSValue
* QVariant-type QJSValues were not callable, could not be objects or
arrays, or any of the special types.
* Cyclic references were forcibly broken when saving to a data stream.
In general the support for saving and loading of managed types to/from
a data stream was so abysmally bad that we don't lose much by dropping
it.
[ChangeLog][QML][Important Behavior Changes] When saving a QJSValue to a
QDataStream only primitive values or strings will be retained. Support
for objects and arrays was incomplete and unreliable already before. It
cannot work correctly as we don't necessarily have a JavaScript heap
when loading a QJSValue from a stream. Therefore, we don't have a proper
place to keep any managed values. Using QVariant to keep them instead is
a bad idea because QVariant cannot represent everything a QJSValue can
contain.
Fixes: QTBUG-75174
Change-Id: I75697670639bca8d4b1668763d7020c4cf871bda
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This also means the RegExpValidator QML type will be gone. Use
QRegularExpressionValidator instead.
[ChangeLog][QtQuick][RegExpValidator] The RegExpValidator QML type has
been removed. Use RegularExpressionValidator instead.
Change-Id: If25fc5a258a669dfd28e705271757caa252ce05c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|/ /
| |
| |
| |
| |
| | |
Task-number: QTBUG-71278
Change-Id: Ie3167d44780a192b5010052eea5192eee8c21c32
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Install it, without adding it as entry to the generated qmldir
file.
Change-Id: I0b63d4069767e2ad21afcf94741212d14ceb2745
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a new source file property QT_QML_SKIP_QMLDIR_ENTRY which tells
the build system not to add the source file as an entry in the
generated qmldir file.
This is useful to mark a file for installation via
qt6_target_qml_files without exposing it as a QML
type (like a helper javascript file).
Change-Id: I2aa595692bcbb65925635abc1b12519d1a45fe53
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We may want to have, for example, a QQmlFileSelector and a
component-specific interceptor that chooses a theme or similar.
Also, make the API public. We want to propose this as alternative to
dynamically registering QML files via qmlRegisterType(QUrl, ...).
Change-Id: I4a535d3ea556da6710fde816579ec188b3f57099
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An import statement without version specifier imports the latest version
available, one with only a major version imports the latest minor
version from that major version.
Task-number: QTBUG-71278
Change-Id: I43907ae4e1052be533039d545de5391c41d38307
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
scenegraph/qsgrhisupport.cpp: In member function ‘void QSGRhiSupport::applySettings()’:
warning: ‘QSting::QString(const QByteArray&)’ is deprecated
scenegraph/qsgrhisupport.cpp:161:102: note: in expansion of macro ‘qPrintable’
scenegraph/qsgrhisupport.cpp:585:112: warning: ‘void QAbstractSocket::error(QAbstractSocket::SocketError)’ is deprecated
Change-Id: I848e089f9d6d26fcb7f44e9e83883f5f971eba3e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia0a075e3199eab735f9b289873beeb8730ebc47e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Main goals of these changes:
1) Add an ability to work with disabled and inactive palettes from QML
2) Eliminate massive code duplication in qtquickcontrols2 module
3) Provide easily extensible architecture for this piece of
functionality
Architectural part.
Palette
It was decided to not change existing QPalette, but add thin wrappers
around it to provide all required functionality. These wrappers are
highly coupled with QPalette class because of using some enum values
from it.
There are two new classes QQuickPalette and QQuickColorGroup.
QQuickPalette class inherits QQuickColorGroup class and represents
Active/All color group. QQuickPalette also provides an access to three
color groups: Active, Inactive, and Disabled.
In order to access colors the special class QQuickPaletteColorProvider
is used. This is a wrapper around QPalette that provides some
convenience functions.
Interface
The private property "palette" should be exposed.
Implementation
All private parts of classes that implement
QQuickAbstractPaletteProvider have to inherit
QQuickPaletteProviderPrivateBase class. This template class implement
all functionality: create palette, resolve dependencies, connect objects
etc. This is important to mention that related data is lazily
allocatable on demand only. Hence, there is no memory overhead for
regular items.
Change-Id: I911424b730451b1ad47f68fd8007953b66eddb28
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
testlogger.js was added to the generated qmldir file
with a 6.0 version, and that failed qmltests that tried
to import QtQuick with the following error
invalid version 6.0.0, expected <major>.<minor>
import QtTest 1.1
^
Until pro2cmake is fixed not to look at QML_FILES in
.qmake .pro files when generating the contents of the
qmldir file, add the js file to the static qmldir
file and regenerate the project.
Change-Id: I71d2dc34441f53f05c4eb3a108819913e809eb50
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We passed full version strings like "6.0.0" and the old
code passed "0.0" as the minor version, which is wrong.
Split the string on the dot character, and extract the
first and second parts to pass them along.
Change-Id: I5faf89176dfd51d5048ed9234fd84b25c8b48bea
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I29db8c652d85db5d9b92fd184632680a0ad06e55
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
We only need the one taking a const reference.
Change-Id: I9466e71495129bfccd5a70d93a6acbc43e25b2b4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I3a6c83ffc203bf27121f460ba23d31a39d1493ee
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
dependencies.yaml
Change-Id: Ifff48b9d0e7962d481e63c49399e2d304e1011e5
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: If8daa6152a563d4309d7342414780ef75b9f5589
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
dependencies.yaml
src/qml/qml/qqmlengine.cpp
Change-Id: I6a73fd1064286f4a2232de85c2ce7f80452d4641
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I26b89d0e172465de3df36ffb0b2ea92975e99a2a
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I48d7fd306f3d1b161a8e73029282ee591b1ef612
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Retrieve the list of dependent metatypes.json using the new source
interfaces.
Change-Id: I6ab57f370864031f2dbd097f14c3ebe6e7601d61
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|