| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-71042
Change-Id: I4d0927b0d6c9a4ccaaddfbfd6dd2a7841fbbc845
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-69898
Change-Id: Ifbd9b3bf8d4b0c82b4c3933912e61eea8e0bb987
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use a dedicated lookup type to provide super fast access to engine wide
singleton objects as well as scripts
Task-number: QTBUG-69898
Change-Id: Ie430f48f6576a9171018ef18742dcf6b2adb4310
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The parent pointer is only kept so that we can update the parent's
transitions when removing a child. There is no need to keep the parents
alive for the children.
Fixes: QTBUG-58559
Change-Id: Ia28183966bde6d478ca030fe11195489925dfc13
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After enabling lookups in QML files, we can remove all the code that
tries to deal with (type) compile time detection of access to id objects
and properties of the scope/context object. This also allows removing
quite a bit of run-time code paths and even byte code instructions.
Task-number: QTBUG-69898
Change-Id: I7b26d7983393594a3ef56466d3e633f1822b76f4
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When resolving names in the context of QML bindings, we now direct
runtime access to QQmlContextWrapper::resolveQmlPropertyLookupGetter. At the
moment this does basically the same as Runtime::method_loadName, which
we called earlier. However this now provides the opportunity to optimize
lookups in the QML context in a central place.
When performing a call on a scope or context object property, we also
did not use a CallName() instruction - which would have gotten the
thisObject wrong - but instead we use a dedicated
CallScopeObjectProperty and CallContextObjectProperty instruction. These
rely on identifying these properties at compile time, which goes away
with lookups (and also doesn't work when using ahead-of-time
compilation). Therefore the qml context property lookup is using a
getPropertyAndBase style signature and
Runtime::method_callQmlContextPropertyLookup uses that.
For the tests to pass, some error expectations need adjusting. In
particular the compile-time detection of write attempts to id objects is
now delayed to the run-time.
The old code path is still there and will be removed separately in the
next commit (as it is massive).
Task-number: QTBUG-69898
Change-Id: Iad1ff93d3758c4db984a7c2d003beee21ed2275c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-74544
Change-Id: I0a8c54d2a02d959edacd82abcee4553222d575d9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apparently on some platforms this can time out.
Change-Id: I30cd274ff3127319c558b473b6ec7e7f5bc79c38
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is unstable on macOS 10.13.
Task-number: QTBUG-74525
Change-Id: I8c04b4f0b4c560d1805982a605f994e0f1f1c87d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-74517
Change-Id: I3e0a90a264f8f686bba89e6b8dc4ebcf05418f77
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apparently we cannot rely on the content height change to immediately
take effect.
Change-Id: I8b4bf7b7d0b72da84228c7a3f1460b42c97e0330
Fixes: QTBUG-74518
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is very little you can do with things registered as interfaces.
Change-Id: I5e4dcf8529c2d7c8012db3fa1dcfc23563cc2cba
Fixes: QTBUG-74318
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the qmldir URL got intercepted, we should use the intercepted URL to
get to the contents to be loaded.
Fixes: QTBUG-73843
Change-Id: I51715575e767ed429a8237517f47196677409fe0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The main feature that needs to be implemented in order to enable lookups
in QML files is to respect that the QObject wrapper has its own storage
layer (meta-object properties). Lookups need to be able to index those
when the base is a QObject. This is done by caching the property data
and guarding the validity by comparing property cache pointers.
The same lookup logic is also implemented for value type wrappers.
OVerall there's more that can be done with lookups in meta-objects, for
constant properties for example.
For "global" lookups we have a safeguard in place that generates a
LoadName instruction for property access that should end up in the qml
context wrapper. So no changes are needed here at first, but the lookup
in the QML context can be optimized in the future.
The way of storing the property cache in the lookup itself trades
ugliness on destruction against the creation of less internal classes.
Another option would be to store the property cache in the internal
class and let QObjectWrapper always transition via the property cache.
Task-number: QTBUG-69898
Change-Id: I9c378c071acc6d7d4a34a2a76616f9594119d515
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
toInt32LhsAcc convertes both the lhs and the accumulator to int32. If
the accumulator is not saved, a GC run during the conversion of the lhs
might trash its value.
Fixes: QTBUG-74058
Change-Id: Ic42693061c7d483bb430d77bcc095de6ff9a6843
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update function list and refer to the 7th edition of the ECMAScript
standard.
Fixes: QTBUG-73837
Change-Id: I4332de3ded0373393107b6d5bab95363a0b9ebb9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apparently only some compilers see through QPointer on connect()
Fixes: QTBUG-74500
Change-Id: I4d0ca7c8ab8b7eae281deff14523a1628e669279
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was the intention already in 5.12, but we left it with
Q_AUTOTEST_EXPORT until now. Users should be able to begin experiments
with subclassing handlers, since that is intended to be officially
supported in 5.14 with public headers.
Change-Id: I89471b3ef748936059ed4444eac5348d26a3344b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/compiler/qv4codegen.cpp
Change-Id: I66b7db42bf208855889094ace0267326595ce03c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQmlRefPointer works in AddRef mode for assignment of a raw pointer.
This creates additional reference to original object and it will never
be garbage collected in this case. Amends change 99e2356a73.
Task-number: QTBUG-74148
Change-Id: Ic0f03e842965c5c82b357d10ab8b0d6a62411fc8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |\
| | | |
| | | |
| | | | |
refs/staging/5.12
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: Ic631da33e81868ef62ca70c1aba243b3b0e6c5a8
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
+ 0999c78ea33d71ba211b7fa90a5d88dd5b29b3fd Avoid crash in property requirements test
+ 52727146db11d3f7f454e15865655d03496a3300 Fix build with -c++std=c++11
+ 7bcc5242c1543785ae4d6a54b9096874a421582f Make sure JIT is disabled when building for ILP32 ABI
+ bcc55604d9371ea6fb6f223a5897ab44b3bc9665 quicktest: winrt: Use qml files from resource system by default
+ 3795904e3831722e222fa32a1e52aeb6b3e6ba87 V4: Fix stack alignment in JITted code
+ c0e16b469f1bce8fc96d751656a43d7396ce4276 Fix build error when building with -no-feature-translation
+ 0924e03e245c1d628bc7f864d6b194b137116b6e Bump version
+ cfdb483613494d982a574c9334f2b21621024b1b Fix crash with qt.qml.binding.removal.info=true
+ 4aa7fe666be35b5699b0e201c3a963777f874e4d tst_qquickapplication: Don't assume app activation is tied to window activation
+ f0a9c1efe36b952dfe3e802f3ceeee6ed10a65f5 Stabilize tst_QQuickPathView::package()
+ aca0351c7ce933503b042fd8d745d220c7dd331d QQmlMetaType: Erase attached properties in dtor
+ 8396dc86f28e89a920d85f59518fac79da8480eb StorageModel manual test: use DelegateChoices to show data graphically
+ 8fd3cfe7d0f39a731c585334299f5160ad952df9 Annotate stack traces when frames are elided through tail calls
+ 9e3c46961a5f48c3a704b0147e1f073f7516da9c Remove reference to OpenGL from distance field cache superclass
+ 84e15a609b37a64baf82ed20f8d4f79474989226 Documentation: Start using the \nullptr macro
+ dfb3ccddfce6376cf8028ad31d6933b8fdfd1a47 TestLib: Remove outdated note from TestCase.mouseDrag
+ 84a1cac0baf2e089989ef1cba31437e7c3917d95 Skip shadersource-dynamic-shadersource test on XCB platform
+ 8380e4c4a4f3f49a74a8bc0ff330e1c9e14dbafc Add handlers declared as Flickable children to its contentItem
+ feb9ace3de30170f785217fdb7c454e92ca6d525 QQmlNotifier: Always keep the isNotifying flag when updating senderPtr
+ ba6371fb2ae3ad0096ec672f61a7a989c297d8fc MemoryManager: Only clear weak values once
+ 8ad8a5ddec05832c34f0cab3c8cf6530ea6c66c8 Canvas: Guard context pointer against external deletion
+ f4ab0ab62496e63db72592845b285bab3d8388b9 Silent -Wdouble-promotion warning
+ cf04d5ee18344d45da538810654690bd3936f46a Bring behavior of String.replace() in line with other engines
+ 84b47be6c79761e274454d437b73a1ac2c6789c9 Add *.pro.user.* to .gitignore
+ 63bbaf837976bae45fdd2766da0ed4cc808cc0ac PinchHandler: Avoid unwanted translations when axes are disabled
+ dea0f1b1e69cd313f81dc998e973428161d411e9 PinchHandler: fix pedantic warnings
+ 454676a8745a7334539449562a5fda47db2fc2ca Fix byte code register dump output
+ 679a9972b46b0ebd03444f3c08ce7d3424c494f9 TextInput: Stop leaking password values to process memory
+ 729b1ceb8904a857ba4c804e8a58b9ef4ef7b193 Correctly scope unwind handlers for try blocks
+ b7b384658b21e741f9a1fde60b1c1ee69a83e278 Remove revisions from Qt.labs.settings methods and properties
+ a8729cf143a79b274c002166476c54dc152c6679 TapHander: do not "want" an eventPoint that is outside parent bounds
+ 205f836e5d976a983638dd2969077a9e24c1c4fd V4: Fix unwind handler reset after for-in loop
+ 5d8d0d7068bc8498ea2a6a4c9bc16e0eeb92836c doc: Two class members can not have the same name
+ d27d896d8cb9d240138fe8ea69f1051f74ce1945 Improve error message
+ 5de48ee56a5afb0045d40851a4a1dd79db82c772 QMLJS: Have ScanFunctions iterate over ArrayPattern nodes
+ 78c1fcbc49f56463064eef738a475d9018357b24 QQuickWindow: don't give exclusive grab to invisible or disabled Items
+ 8ab6ded97633bf7f74e7ca4de35ed56d07f358d8 Fix bug where QQMPH kept an exclusive grab when no buttons were pressed
+ 895302829b46e00cde8eef13eb7c630af5d771e2 Try to stabilize tst_qquickwindow::defaultSurfaceFormat
+ 612ac8749782af9c58a0e823b7180e0018a42be8 Doc: explain when the move velocity and duration properties are used
+ bb2dce1d902405acfd5aaf997860c0f0318bce77 Try to fix flakiness in flickableinterop test
+ 734f5a31c7a72d87a99103051ed327addae0ab99 Remove blacklisting of several tests that are passing
+ 24a686077579b04874f956a1dbb212a91836b64e Un-blacklist tst_qquickflickable::rebound
+ f2cc7c8580f2a25554cf37426096935c62a5b7af Un-blacklist tst_qquickanimations
+ a804f31ee2665501c1894cbae8302db181090bd5 Move initView() to tests/auto/quick/shared
+ eeedd26f35369a61d66283b8e2994a6e87c314fe Fix background color of some QML lancelot test scenes
+ 91a71bce9c633934540e9f06fb081e3b89259ff3 Defer QML testing until event loop has started
+ 01f9c623ed2dc1645ac022d69062f720e3b50132 Don't optimize global lookups if fast QML lookups are disabled
+ 1e3ed172f35abaa0e0af43ee22259bc3cd188ad8 Connect quit() and exit() signals with queued connections
+ 68d0377736a541fa29d1aaba6b7aa4a4cf8781ef Make test more robust in case we have interleaved update events
+ 0148243a77a42de1ba6170a1da3977b3026c1927 Canvas: Handle switching between object and string based colors
+ dbc811e164019b5f9ce371cb7b49d695644f6a90 DelegateModel: Zero foreign context objects when they are deleted
+ 9343fbc478e42c7aec3247486b25b34f1908e93b PropertCache: Don't pass Q_GADGET value types as integers
+ 8df1afa89558ddb608ff0df792d2015dd5e2e6ac V4: Fix JS tail call crashes on win32/linux32
+ d96a700cc3611480ff76023287cb06f455a37b02 V4: Fix failing assert on all 32bit platforms
+ 94d30df911dccd830a18d7c2e75397505ef9a600 Check parameter types when invoking C++ functions from QML
+ 885e4af1f4ba3f047c3d932a1a780ddbba481170 QML: Don't crash the parser on certain kinds of bad input
+ 2131ec383b588e2160cb72247e61f7eab71cc0b1 QQuickTableView: use correct WRITE function for contentHeight
+ 06ec6340d0eff763e52135afabc13662b3892c43 Avoid unnecessary re-generation qml cache files in some circumstances
+ 56d6d905c23607a610b8af142016108063a48e3a Doc: elaborate on default values for Layout.alignment
+ 407e2769c7b7909fdb2979090e71fa636f109a04 Fix PropertyKey::isArrayIndex
Change-Id: I47b6bb6d315c8a3306845efc01abd6f7f6c74ec2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Update got necessary after b7b384658b21e741f9a1fde60b1c1ee69a83e278
went in.
Task-number: QTBUG-73239
Change-Id: Ic93bbcf5be7f0f33d36b254b3ca30526b86c858c
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Suppose we have
function foo(x) { return x.constructor; }
and we call it first with
foo("hello")
then the lookup will be initialized with a primitive getter from the
prototype.
When we subsequently call
foo(new String("world"))
then the primitiveGetterProto() will check that the provided object is
of the same type as last time, which erroneously succeeds. Indeed, both
are of Managed type. However now we're passing a full-fledged object,
which is not a primitive anymore - hence the additional check to ensure
that we fall back to the generic getter.
Task-number: QTBUG-69898
Change-Id: I3c7a8384bfdf0e31b7c6247cce80fe7448b627b3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The list of names is still suboptimal, but at least it's shared now.
Task-number: QTBUG-69898
Change-Id: I16c9839c4a1f097053b28caea894b67757972826
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Our tests expect those exceptions to have the same message as when not
using lookups.
Task-number: QTBUG-69898
Change-Id: Iab36519844a3a49ef9e34346e9afeb2eee9f9ced
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This allows sub-classes of Object to have their own lookup resolution
and verification logic, instead of squeezing it all into qv4lookup.cpp.
The typical fallbacks are still in qv4lookup.cpp though.
Task-number: QTBUG-69898
Change-Id: I32a8884982b37e2065090666a7bf05b198f5b7fd
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use QTRY_VERIFY in order to allow for a delay in rendering the
rectangle.
Fixes: QTBUG-74468
Change-Id: I797b269358aaa35487144bb03a85f36646e2302f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We only need to check in one central location and we can allow for more
recursion. 4k recursions seem tolerable. A common default for stack
sizes is 8MB. Each recursion step takes up to 1k stack space in debug
mode. So, exhausting this would burn about half of the available stack
size. We don't report the exact source location in this case as finding
the source location may itself trigger a deep recursion.
Fixes: QTBUG-74087
Change-Id: I43e6e20b322f6035c7136a6f381230ec285c30ae
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
While there is no dedicated example for states and transitions for
Qt Quick, the Animation example covers these concepts.
Fixes: QTBUG-74428
Change-Id: I00f6ca54123011599ebbb6b7bc53d3104b1586ca
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The nodes are owned by the SparseArrayData and will be freed whenever an
item is deleted from the array. Therefore, we have to look up the node
for each iteration. This is slightly slower, but at least it doesn't
crash.
Fixes: QTBUG-74188
Change-Id: Id24324a8c83b00b3ad1212cdaabccabd6c8a999f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Result objects are rather large, 96 bytes here. In a recursive algorithm
such as our parser, we should not keep too many of them on the stack.
Also, the size of Reference can be reduced by employing a bit field
rather than a number of booleans.
Also, try to convince the compiler to inline the accept() functions. The
extra stack frames those create are unnecessary.
Task-number: QTBUG-74087
Change-Id: I5c064491172366bb0abef99ffe9314080401a7d1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add ',' to enumerator and rearrange Q_QDOC #ifdefs, fixing:
LOG Build & visit PCH for QtQuickDoc
src/quick/scenegraph/coreapi/qsgnode.h:97:49: error: missing ',' between enumerators
src/qml/qml/qqml.h:593:17: error: expected namespace name
Change-Id: I4491c5885c5cdb8a156d9a7abcca5db4d68d1c2e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I0bb5055024e30c32b82e1555c820ea5ced8923f5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After "QV4Engine: Unify fromValue and metaTypeToJS",
QJSEngine::toScriptValue(QModelIndex) is working correctly, so we don't
need the messy low-level technique with QV4::ExecutionEngine anymore.
Change-Id: I7df17ae75c11abd21fdc9ab4310c9ecf615b6a71
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Somehow, we ended up with two codepaths doing essentially the same
thing: constructing a JS value from a QVariant. metaTypeToJS is invoked
from QJSEngine::toScriptValue, whereas fromVariant() is used in various
places internally.
metaTypeToJS lacks proper handling for a number of cases, such as
builtin types like QPointF, which lead to toScriptValue(QPointF)
(incorrectly, and uselessly) constructing a VariantObject which couldn't
then do anything useful.
[ChangeLog][QtQml] QJSEngine::toScriptValue will now return correct
JavaScript objects in more cases, for example, for gadget types like
QPointF.
[ChangeLog][QtQml] QJSEngine::toScriptValue now uses the same
behavior as the rest of the engine when building JavaScript values, which
will cause the types of some returned JavaScript objects to change. For
instance, string lists are now returned as sequence objects, not array
objects, and QChar now constructs a JavaScript string.
Change-Id: I0290eb7c9c46e7b508d497cc33cd61d9378f3872
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QRegularExpression is the recommended way to do regular expressions
nowadays. Support assignment of JavaScript regular expressions to
QRegularExpression properties of QObjects and the other way around.
QJSValue::toVariant() will create a QRegularExpression from a JavaScript
RegExp by default now.
[ChangeLog][QtQml][Important Behavior Changes] QRegularExpression is now
supported the same way QRegExp is in QML. QJSValue::toVariant() creates
a QRegularExpression variant rather than a QRegExp one from a JavaScript
regular expression now.
Fixes: QTBUG-73429
Change-Id: I301a02771cd17903406c2bc5c7aaeca6cce629f0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As we already have an implementation of refcounting, we can just use
that intead of inventing another one. This also gives us nice move ctors
and operators.
Also, use const pointers to QQmlTypePrivate where possible. This exposes
quite some nastiness that needs to be fixed in follow-up commits: All
the mutable members of QQmlTypePrivate are unsafe for multithreaded use.
Change-Id: I3be8f2c53d86e06ffa80c8df8830473fe6d1d91d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
So they can be addressed through offsetof() in JITs.
Change-Id: If598dde3ace89db0643feed895bdf706563c3cce
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/qml/compiler/qv4codegen.cpp
Change-Id: I604517d0948fb5056ce36cc104f13ac956fbcc24
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I939cba4ccdb5408a5a6a47f1324538462f51e35a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
refs/staging/5.13
|
| | |\| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/qml/compiler/qv4codegen.cpp
src/qml/animations/qsequentialanimationgroupjob.cpp
Change-Id: I8b76e509fd7c8599d4cef25181d790ee28edab54
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The chart makes it easier to find the correct way to register a C++
type with the QML type system, so it makes sense to link to it
from these docs.
Task-number: QTBUG-74318
Change-Id: Iba74ce02d200d6609dbb0a508d618226a6fe1e54
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If QQuickItem::grabToImage is called from QML,
QQuickItemGrabResult is created but was never deleted.
Adding a deleteLater() right after dispatching the callback
ensures that QQuickItemGrabResult objects are deleted.
Task-number: QTBUG-73723
Change-Id: Ifda85599098f2b679ae5f22e1d47a73962ed0a85
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Just like with 'normal' types, we don't want to include composite types
that were actually part of depending imports. So we need to remove them
from the list.
This fixes an issue with QtQuick.Controls style plugins, were so
far types from QtQuick.Controls 2 imports were re-dumped.
Change-Id: Ib099ae9cfba35218cab852d4d260369c2a652727
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We cannot easily find the required stack space to store the extra
arguments without adding a new stack frame. In principle it would be
possible, but heavily recursing on such functions should be a rare
problem.
Change-Id: I1a53a6d29e37ce67aa7bd64acb7b1f41197e84c0
Fixes: QTBUG-72807
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ia4f35781ed96a347464b5e423bd7446f5a7f6752
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|