| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
Currently there is no public API to transform a QVariant holding a
QQmlListProperty into a QQmlListReference. We cannot pass
QQmlListProperty itself as that is templated. The metatype-based casting
is somewhat evil, but not more so than what we already have in the other
ctor.
Change-Id: I2d56499b1fd188613bc71016cb00ec23081d3cea
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
| |
... a.k.a InternalClass. This is a faster way of creating multiple
similar objects, compared to a sequence of setProperty() calls.
Change-Id: Iecc8c581e50b9062895dae9500ffe2482d88028e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
If you access a string as an array you get a one-character string of the
index you are asking for.
Change-Id: Ie2ac3243c9e23f37b8904c54d824946646a596eb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we load the same file multiple times, we can re-use the old mapping.
In fact we may leak memory if we don't. The fact that we have to use a
mutex here is somewhat regrettable, but I haven't found a better way
of serializing access.
Task-number: QTBUG-89659
Pick-to: 5.15
Change-Id: Iaa44ac80faa5e95f30c05e950ab35083a8b0416b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
timeZoneUpdated fails on 32bit (x86/arm) linux.
Task-number: QTBUG-89889
Change-Id: I37815e73447a6e8ab9bf59fa3c356d5bd16d330f
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
| |
Previously errors occurring when parsing QML singletons would just be ignored resulting in a crash.
The errors are now properly printed and the execution is aborted in time.
Fixes: QTBUG-85932
Change-Id: I61cef5f97546ce2e0753bc46c548838a21b1f506
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
When removing items from groups actively shown by a model filter a warning
and assert was triggered in the past. This change fixes this behavior.
Fixes: QTBUG-86017
Change-Id: I49b7498a3d03141b654e453a3c35a43fc7ba804a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Aliases are seriously broken and need a larger overhaul.
This patch at least prevents the application from crashing.
Task-number: QTBUG-89822
Change-Id: Ib6acc5b6f621a902f7f5ce370043986486f3c0d0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The feature check for timezone should apply to the whole test; it
makes no sense without. The checks against Q_OS_WIN were redundant in
code already subject to a Q_OS_UNIX check.
Pick-to: 6.0 5.15
Task-number: QTBUG-89889
Change-Id: I419a775bf0777379662aa19e5b0c81fd6e0e26f6
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-89889
Change-Id: I95f8e4cc6b26b1a8ab8fde2ecdd30b7b5520b6c9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
'function' is a separate type in JavaScript and should be treated that
way. Replace the isCallable() method with a new isFunction() to reflect
that, and add an entry to the Type enum.
Change-Id: I09cc28a9edf8aa0380eb9caeb738dfc298a02567
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
|
|
|
|
|
|
|
|
|
| |
The test fails for MinGW in the CI for unknown reasons. Output
the error string on failure.
Pick-to: 6.0
Change-Id: I96415c9d5753f9013be22b55884175fda6604130
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-88643
Change-Id: I51d346c127e3269eca49e387db578c16480a0565
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
| |
The test fails for MinGW in the CI for unknown reasons.
Pick-to: 6.0
Change-Id: I20199704a9c810499551b8952375926902a75aa0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
|
|
|
|
|
|
| |
We need a way to easily get a primitive from a QJSValue.
Change-Id: I91a55d92ffa4ba6139b1e3f2e9308800b7047563
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
The JavaScript engine does this, so we should do the same here.
Change-Id: I011a60bc2c013f19306c843da7a9c22dc80a39cb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
This is rather handy. Without it, we have to go through either QJSValue
or QJSManagedValue, which causes much greater overhead.
Change-Id: I40e2ecb6e2005f80c8f52b5e9a59028b3984eea4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A QJSManagedValue is a view on a QJSValue which always knows the engine
the value belongs to. This allows us to implement the JavaScript
semantics of the various QJSValue methods in a much more rigorous way.
[ChangeLog][QtQml] The new QJSManagedValue should be used instead of
QJSValue for manipulating properties and prototypes of JavaScript
values, as well as for calling JavaScript functions.
Change-Id: I9d445ffcf68dfa72dba9bae0818e83c80665ad66
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
pro2cmake did not convert the QTEST_FUNCTION_TIMEOUT environment
variable. As a result, when the test runs for more than 300s, it gets
killed by the watchdog.
Pick-to: 6.0
Change-Id: I370d2c1b7a129c41d690d41e84f0a51810d37160
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
We don't want to call into the engine just for adding two numbers.
This implements the most common operators on primitive JavaScript
values. More are to follow in the future.
Change-Id: Id51a5af59a3af9fec78a2d8f293e59e6567e9204
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If the target of a proxy was extensible, we did not set the
iteratorTarget to its correct value, and thus the ForInIteratorObject
would not be usable.
Pick-to: 6.0 5.15
Fixes: QTBUG-86323
Change-Id: Id1924ac4087bab38c006b8eba92b619b79d36b7a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the dubious function eventLoopWait() by
QThread::msleep() since it causes a warnings flood when using MinGW:
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
tst_qqmltimer::stopWhenEventPosted() QEventDispatcherWin32::wakeUp: Failed to post a message (Not enough quota is available to process this command.)
Pick-to: 6.0
Change-Id: I161d1d025f79560b21aaaeb510e4956eba54bdea
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assume an application which uses a QML singleton (so needs qmldir), and
wants to use declarative type registration. This currently breaks
because we find the qmldir, see that there is no plugin to load, and
thus never search for registration functions.
Requiring the creation of a plugin is rather pointless for an
application which doesn't reuse the QML types; so instead enable this
usecase to work. Note that qmldir + imperative registration did always
work, as the imperative registration code did always run.
Change-Id: Iac40020eb97d602d10eb8c4eecac5195ffeabe14
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Remove import sorting due to the fact that sorting imports can break code.
[ChangeLog][QML Tooling][qmlformat] Remove import sorting and the (now obsolete) -n parameter to disable it
Fixes: QTBUG-89295
Pick-to: 6.0
Change-Id: I5ff13d0ae3c715db7645b412152aadb31811ce5a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Usually libraries get a lib prefix when using MinGW but plugins are expected
to not have a prefix, causing the plugin to not load properly.
This change fixes this by using the MODULE keyword.
Pick-to: 6.0
Fixes: QTBUG-89187
Change-Id: Icd543015805a8157d59c20e86134421911930ea1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
And fix up some incorrect qmake project files
Pick-to: 6.0
Change-Id: Ia6d27ac68195635021fe7c4a5f06386a60f3f323
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-87266
Change-Id: Iad8c7765b339c5498f541702bbf7df64164f5358
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Also fixes typename and metatype registration for inline components.
Done-with: Fabian Kosmale <fabian.kosmale@qt.io>
Pick-to: 5.15
Fixes: QTBUG-89173
Change-Id: I97d65d5539b577a8828d5711e5f2e79c8568b441
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-89173
Pick-to: 5.15
Change-Id: Ife82518808fc5504ec42407e80ed3de89ed4adeb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QJSValue to QVariant conversion is traditionally messy. The recent
addition of a special case for FunctionObject did not make that better.
Rather, we now add a way of specifying that the conversion should be
lossless, which avoids all conversions of JS objects and arrays.
Amends commit 6b08c24297f39f3c67bc5c16f46198b33af66529.
Change-Id: I6d4506b52d3175ed2f2984f8a26d560cf6311ab6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
As you can manually throw an error, you should be able to catch it
again, too.
Change-Id: I82475df1969a1fd76f4cf5fc0a8d921dfafaef89
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
There may not be a stack frame and that is OK.
Change-Id: Iccac4db1530c9a4b316905a3a283d36674c146a8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-83599
Pick-to: 5.15
Change-Id: I8909f0b2d3eca909512b99c172c8dc5e93e48482
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: Icf31fbe473e5b0659cfe09d5bef8652c22a2b1ce
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We set QProperty bindings up in the wrong way: Parent components would
overwrite their child component's binding. This patch reverses the
order, fixing the bug.
Task-number: QTBUG-87153
Pick-to: 6.0
Change-Id: I3e90d1d14a41a7c5c337745f1453484d360a3979
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Original-patch-by: Lars Knoll <lars.knoll@qt.io>
Task-number: QTBUG-88765
Change-Id: I85dad61a1c3ade29137be9870ce8af726be81a28
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
This time, the ValueTypeFactory gets converted. As a consequence, many
callers get touched again.
Task-number: QTBUG-88766
Change-Id: I3a8b7d5cfeb7fac85daf1702febba205971d4256
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also, allow conversion from UrlObject and String. We allow the string
conversion because we treat string and url as interchangeable in various
places.
Change-Id: Ib229c6d190e1c5d849ea18798925965b8dbeef7e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
Fix coding style as a drive-by. No need for qAsConst as QVarLenghArray
is not an implicitly shared class.
Change-Id: I8a9ec3c76f8f6459a1605b02f4682ab3ce091d1a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't want to convert back and forth between QMetaTypes and ids. This
change is the first step towards using QMetaType directly everywhere.
By reordering the members of QQmlPropertyData to avoid a gap caused by
alignment, we can replace the typeid int with a QMetaType without
requiring more space.
There are still a few places left using metatype ids, notably the value
type logic.
Task-number: QTBUG-82931
Change-Id: Ic38f38d10c71ed20655877976c9cb5ee3cbe2d77
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
We cannot retrieve anything sensible from those. Therefore, just wrap
the QJSValue into a variant.
Change-Id: I8acd9fb59a8859c8b2c389efb7934b597a2e479f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
This way you can access the properties or call functions provided by the
imported script from C++. Previously there was no way to get to them via
public API from outside of QML/JS.
Change-Id: Ia7813ef6fbec81898c302809118c31f9dcf0f95e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Property pointer p needs to be checked for nullptr value in
QV4::ProxyObject::virtualGetOwnProperty(). This can happen when calling
hasOwnProperty() or propertyIsEnumerable().
Fixes: QTBUG-88786
Pick-to: 6.0 5.15
Change-Id: I43da58fed4d8656f9187213f7317f17398739e34
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds the ability to use tabs or any amount of spaces for indentation
instead of the default of 4 spaces.
[ChangeLog][QML][qmlformat] Added option to customize
indentation.
Fixes: QTBUG-86413
Change-Id: I3c370dda2d0069ef61202a2d862ce15bc513e55e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: Ica3f5c6696542921bc8d399cd46d901ba06f6d83
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Needed in order to allow for the declarative registration of classes implementing
interfaces.
Fixes: QTBUG-88623
Pick-to: 6.0
Change-Id: Id9c1ae92774dd9c316ceaa737cb48ef28f56545c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Now that we have a module describing the qmltypes format, we can run
qmllint on qmltypes files.
Change-Id: I23339e52b5081ecb6a2c3b127078389a2b8faab0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
| |
Change-Id: Ica93a3e3fb0eb99be1498f1fcb94b09c113272d7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-88643
Change-Id: I4614e46e9740769660f6c068ed1ff0407378b66b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-88626
Change-Id: I5c1621373753fa9dba9c3457d64c6ee5b5f516a7
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
|