| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-80316
Change-Id: I584b699a1eec88117f343870bd2cd01075da64f7
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
|
|
| |
We need to adopt them, not addref the newly created object.
Fixes: QTBUG-83214
Pick-to: 5.15
Change-Id: Ic8660e65d4b7c7698657f6b2806b5478f7f15ea1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
They do the same thing.
Change-Id: Ia35832e6175728e7480d09caba6d3833718d9e80
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We don't need to list the dependencies in the qmltypes files. The
information given in the qmldir file should be enough. Ultimately, we
should get rid of all hidden dependencies.
Task-number: QTBUG-84286
Change-Id: Iaf67d476b449215715270043591d8c4858104ea6
Reviewed-by: Christian Kamm <mail@ckamm.de>
Reviewed-by: Fabian Kosmale <fabian.kosmale@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| | |
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: Ifcbab0407e93dfc35d0459d7d29dee2cd3508a86
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I36254a688f575e6c7f717ee4019e4d49f73a60f7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ie8aca222809f35174fb6c6488832ec3ff5432272
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: I0c5b939c70bdb91ccdf7068784308416dcaa5736
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ie0db35f674137c229eaf049616f38f8e818f7092
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I38044c382e4d84b5865a19cdd04cc8922bd72a77
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ic5f1909731ec11b4fb6bc8823506d272c529ecfb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Removed dependencies.yaml because we don't use it yet in wip/cmake.
Fixed conflict in qmlcachegen.cpp.
Change-Id: Ie1060c737bee1daa85779903598e5b6d5020d922
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/imports/folderlistmodel/plugin.cpp
src/imports/shapes/plugin.cpp
src/qml/qml/qqmlengine.cpp
src/qmlmodels/qqmlmodelsmodule.cpp
src/qmlworkerscript/qqmlworkerscriptmodule.cpp
src/quick/items/qquickitemsmodule.cpp
Change-Id: Ib9215a07aa95b5801ce3cb7287f7903926e8c838
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I4a91928610f79c8e21a05781953ffa41508c828a
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Conflicts:
.qmake.conf
src/qml/qml/qqmlengine.cpp
src/qmlmodels/qqmlmodelsmodule.cpp
Change-Id: Id60420f8250a9c97fcfe56d4eea19b62c6870404
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I5710110679220c4e22bc7f8b540f18a51b735ddf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add qt6_add_qml_module() as a public API for building QML modules.
Since the shared implementation details are small, it was easier
to just reimplement the shared code than to unmangle the more
complicated version we use to build Qt from QtBuild.
This patch includes an example conversion. Changes for pro2cmake
will follow in a separate patch in qtbase.
Change-Id: I942526cc7d978e2d8309b506e785f9c1509d0bbc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The resource prefix is now calculated.
Change-Id: If6faf9aea193a534d3b02d00de28c59724974d3c
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Updated qml modules to be compatible with the latest changes to
add_qml_modules.
Change-Id: I3342a1375bfa64a16fb0c54f812c56bad173f73c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add INSTALL_QML_FILES as the default option for all qml_plugins.
Change-Id: I567aeff7b4b2b40765c83ac08ab7af3917a25981
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\| | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I52b2d17d9334313e4b3d84b52432f2ebc77f7415
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
For modules such as QtQuick we register 2.$QT_VERSION_MINOR to allow our
users to simply use the latest "Qt version" with their imports. When
switching to version 6.0.0, code that used import QtQuick 5.13 would
stop working because we had some types registered to say minor version 10
but nothing after that, and the qmlRegisterModule() call would use
QT_VERSION_MINOR, which is now zero. Therefore in this Qt 6 branch,
let's stick to the latest Qt 5 release planned, to maintain
compatibility.
Change-Id: I174be32cef8de152cd32010156ae716bd474397c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add support to build the projects under src/imports.
All the CMakeLists.txt were generate with pro2cmake, except for
src/imports/builtins.
Change-Id: I06046ede82ba5b1e677e92b7548f543d020b0354
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | |
| | | | | | |
Change-Id: I0d32fc5b99f8c9e4acb922fffe4dd5f3c5be553c
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
QDoc will generate these notes automatically.
Task-number: QTBUG-37355
Change-Id: I8ed058ecbbcc630ad0351f6ce167c3fa61936f6f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Bump all the *.15 versions to QT_VERSION and use QML_IMPORT_VERSION
rather than IMPORT_VERSION.
Change-Id: I5bfbc960d119a7386bdcedb9bdbfdbfa4486a187
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Id72fbe10c16de61bd847773d0055d83cfe03f63c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|\| | | | |
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/imports/qtqml/plugin.cpp
src/qml/qml/qqml.h
src/qml/qml/qqmlmetatype.cpp
src/qml/qml/qqmlmetatype_p.h
src/qml/qml/qqmltypeloader.cpp
src/qml/types/qqmlbind.cpp
src/quick/items/qquickitemsmodule.cpp
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
Change-Id: I52548938a582cb6510271ed4bc3a9aa0c3c11df6
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ic471ba4f82bdf1ac63953927d0a83f514d0e49d0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add unused volatile pointers to the type registration functions in each
import plugin. We need to do this in order to prevent the linker from
optimizing the registration away. There are two ways for this to happen:
When linking statically, the linker will examine the referenced symbols
on a per-object base and leave out all unreferenced objects. When
linking dynamically, the linker may do the same on a per-library base
and drop any unreferenced libraries from the dependencies. Forcing a
reference to the type registration function prevents both.
The volatile technique allows us to remove the previous qCDebug() hack.
Having an unused volatile auto variable should only result in a single
memory read as runtime overhead. The qCDebug() technique would generate
a read and a block of mostly dead code (as no one would ever use that
logging category).
Fixes: QTBUG-81622
Change-Id: I255667276dfd355b19baa17b1aad3db406bf1954
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QT_MINOR_VERSION resets to 0 in dev.
Change-Id: I0b0210c3664c8c42b5dfabf13abac2beef2a0e34
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that we can generate all QML type information at build time, we
should also use it.
Move the types for QtTest into the testlib import plugin. They don't
need to be exported from QtQuickTest.
Trigger the resource initialization of the shapes library from the
plugin so that we retain a dependency and the linker doesn't optimize
the module initialization away.
Change-Id: Icc8cb338aa03ef1e3085e29356a5db7b73ba0a01
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using this technique we can automatically register all necessary
revisions and minor versions of a type, using the metaobject system.
This greatly reduces the potential for mistakes and resulting
incompatibilities between versions of imports.
We assume that for each type we need to register all revisions of its
super types and its attached type, and that the revisions match. That
is, if you import version X of type A, you will also get version X of
its attached type and of any super types. As we previously didn't take
these dependencies into account when manually registering the types, a
number of extra revisions are now registered for some types.
Potentially, we can now generate the qmltypes files at compile time,
using moc.
Change-Id: I7abb8a5c39f5e63ad1a0cb41a783f2c91909491b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
| |
Change-Id: I9e470d08ee93c44663e6f99cebe7817c90cba3e4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QML there is 1 way to set the childMode property on a state
machine, so for invalid values we can generate a nice warning. The
fix for the behavior of the underlying QStateMachine is in
cfdbfcebbda5f26b89c70df6b191b17ef242e9d7
Task-number: QTBUG-49975
Change-Id: I142bdaed2e5336b95bf659066143ac6c2cadeb62
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
We need a CompilationUnit that only holds the data needed for
compilation and another one that is executable by the runtime.
Change-Id: I704d859ba028576a18460f5e3a59f210f64535d3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: Ic135a863581d29a3afb9c6c7f070d2630b3913b4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-73484
Change-Id: I089f5122817a4da1fce13f55d2975240d741b9f6
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by running
cd qtdeclarative/imports; for path in `find . -name Makefile -print`; do pushd `dirname $path`; make qmltypes; popd; done
in the build directory. Local file paths in the command line
were then edited out by hand.
Task-number: QTBUG-70264
Change-Id: I931604aff6a779915708395e8b8dbdf659cbd637
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Consistently provide a smart pointer to the compilation unit in the two
virtual functions.
Change-Id: I2f43d4d17102082577f2502424d288d40eb7479d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
After commit be9a56e5e3ced5d0d668fa24e4c65ae928f2e25a in qtbase, this is
not needed anymore. Instead the resource system injects the plugin entry
point with a reference to all resources.
Change-Id: I7275029bd4c15eda6bb8c2ab7ae8c1cd3933aedb
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
| |
Since commit 214fbaa57b73296a0 the latest minor version of the
import is automatically the Qt minor version, so let's also document
this.
Change-Id: I61a1015d74beaeac9d7a2aecd73e3f05c8a545c9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now it should always be possible to do
import QtQuick.Module x.m
where x is the module's major version and m is Qt's minor version.
[ChangeLog][QtQuick][Important Behavior Changes] In Qt 5.11 and newer
versions, QML plugin modules are available with the same minor version
as the Qt release minor version number. For example it's possible to
import QtQuick.Window 2.11 or import QtQuick.Layouts 1.11
even though there haven't been any API changes in these modules for Qt 5.11,
and the maximum possible import version will automatically increment
in future Qt versions. This is intended to reduce confusion.
Change-Id: I0d28ed04d186bcdd5acde95b8ed0b66c1c4697e3
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: I4bfa05b4619c248119c78d05e64270e6627f6065
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Extend 22b13921f8067f8a93164875a4ad59bed85b0400 to SignalTransition.
Change-Id: Ic7d03353efaa7ba894b913e5b0bc193d648d21df
Task-number: QTBUG-50328
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|