| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From 238cc098d785b4fe76fbc8422b340d98ff8c1a1b which removes this same
line from the software renderer.
>I can't see a good reason for the existence of the sendPostedEvents()
>call there. It is not present in the other render loops and according
to
>git blame it stems from the very early first implementation of the
>software renderer where surely copy & paste from other render loop code
>was involved back then.
Task-number: QTBUG-68997
Change-Id: I40aaeb92f431d474b7b1affb85d0ea5f8b2a46ef
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of emitting
GetException
MoveReg <returnvaluetemp>, <returnaddress>
StoreReg <exceptiontemp>
...
LoadReg <exceptionTemp>
MoveReg <returnvaluetemp>, <returnaddress>
SetException
and implicitly relying on MoveReg to not clobber the accumulator, it's
cleaner to produce
MoveReg <returnvaluetemp>, <returnaddress>
GetException
StoreReg <exceptiontemp>
...
MoveReg <returnvaluetemp>, <returnaddress>
LoadReg <exceptionTemp>
SetException
Change-Id: I3c392ba5fb75aa2ad3ef32aa776fa7acbc25317c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit f44782d0cdbdb800d9c31d5aff712fbf29d52edc fixed the missing call
context creation that would lead to
language/statements/break/S12.8_A2.js failing. It wouldn't always fail
as the invalid cast from the global context to a call context would
access memory that happens to be available just for the test. An
assertion however will not require us to rely on memory setup.
Change-Id: I131a2242004cd5e4d518e58cc9f6a79037f962d2
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The codegen generates code like this for the unwind handling:
GetException
MoveReg <somereg>, <return value reg>
SetException
In the interpreter, MoveReg doesn't clobber the accumulator, but in the
JIT it did.
Change-Id: I7a9c8200468115ca37403ec8a0d511210e2b25fd
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use the same method for comparing values for the JIT as well as the
interpreter, so that the test passes with interpreter as well as the
JIT.
Change-Id: I2e0249d8e915c816a64adc922839cb71f0e065db
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
| |
When comparing values we may end up calling user-defined conversion
functions, which in turn may accidentally end up triggering the GC. So
any intermediate managed values we fetch, we must save on the JS stack.
Change-Id: I810a46f740f22f8fd71a83ed362301cfc822190d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
If the process fails to start, the debug client isn't available and we
shouldn't access it then.
Change-Id: Ifddbbfeb92b1583345a5f4c954dca5920a0cc53b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the process terminates shortly after connecting, we would return the
wrong value because the services would be NotConnected again, due to the
timeout mechanism we used to detect this. Instead, rather directly react
to the stateChanged signals and return as soon as all services are in
the correct state (or if the debug connection is dropped before, or on
timeout, which are failures).
Change-Id: I3f0c1c8519fc450627a803c76ec9b0a703104022
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes syncqt warning:
QtQuick: WARNING: src/quick/items/qquicktableview_p_p.h does not have the "We mean it." warning
Change-Id: Iebda5832bb6a931aec9b34db149c062cf5e03343
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
We cannot set the plugin key to a new value if we've already instantiated
the plugin. Setting the same value again, is a noop, though.
Change-Id: Ib2d2cb3dc20d8d3d7f1673957970f5235e3aeccc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
This is controlled by a environment variable, so the code won't be
executed if not explicitly asked for.
Change-Id: Iec7be17ae1f21f604064e12f35ffe24be0407760
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Avoid a crash below if the toObject call failed and threw
an exception.
Change-Id: I82a12c5cd8892c176d345d7f4b0cf3297357f272
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Added: acosh, asinh, atanh, cbrt, clz32, cosh, expm1, fround, hypot,
imul, sinh, tanh and trunc. Some needed hand-coding for android,
whose std:: is defective. Fixed some buglets in existing asin and
round in the process.
Change-Id: I0858d45430dc0f5944c53723545717ca1ffa6ef7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Implemented all methods in Reflect, only some smaller
bugs left in there.
Change-Id: I53d2304d0e59566aec64e200cd995e02afcfc33e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Function calls with thread are modelled by pushing
an empty value in front of every argument that
requires spreading. The runtime methods callWithSpread
and constructWithSpread then take care of spreading
out the arguments.
Change-Id: Ie877c59d3d9d08fc5f20d7befb7153c7b716bf30
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
Always use the overload where the value is in the accumulator.
Change-Id: I6a3d81fea7aae957e0cf6efd123d7739f8880c95
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
The delete operator is rarely used, so it's simpler to
unify these into one DeleteProperty instruction.
Change-Id: I8c0d4455b35efb03db2ab0010df70030d774a6ae
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I117687939e0f02d801dbad8de7761b4c799f2035
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I613d853dbb34d86ebedd871e9676d3206f1e3349
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds allows C++ code to retrieve the instance of a registered
singleton type. Until now this required a deturn via QML expression.
Two methods are added to QQmlEngine: A generic one that encapsulates all
singleton objects in a QJSValue and a template function for QObject-derived
singleton types.
An additional convenience function is added to query the QML type id. This
function may also be used for other purposes in the future.
[ChangeLog][QtQml][QQmlEngine] Added API to access singletons associated with
a QQmlEngine.
Task-number: QTBUG-39970
Change-Id: I67c132ede35f80b9aaf1c5e5456715cf4f1b0848
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
eval() calls in strict mode code create their own context, so
even though we don't have a parent context, those variables
do not escape, and can be allocated on the stack.
Change-Id: Iea1853452fe1f792468fd6108851f04a1acf9b66
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 2f9afadd5d9b4899397dca, we introduced a change in QQmlAdaptorModel
so that a QAIM model report that it contains "rows * cols" number of
model items, and not just "rows". This was needed, otherwise TableView
would only display the first column of such models.
It turns out, however, that also ListView will now detect that a
QAIM contain more items than just the items in the first column.
The result will be that it ends up adding all the other columns
underneath the first column in the view.
To avoid this unforseen change, this patch will revert this logic, and
instead add a private variable that can be set if the new behavior
is wanted (e.g by TableView).
Change-Id: I8c13da99f05e2f922362e498d1fa1779cdbd0d72
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Don't throw a syntax error when encountering a destructuring
pattern.
Change-Id: I93250a2963d2d50ff61d725229e1b51be17689e9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
| |
Change-Id: I3a8c15fe221bff04a3b9b21ed8c0b06c04770a3d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Fix destructuring targets that are complex lhs expressions.
There are still some failures remaining, but this fixes
another larger chunk of test cases.
Change-Id: Icf08f42d7c70d4e81be5d5d2e27ebe6249d25467
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
| |
maxNumberOfArguments isn't used anymore.
Change-Id: Ibb891101b971b4b0b01be7897e6d1490e1dde62c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
We need to iterator over elisions at the end, as those could
trigger side effects by calling iterator.next()
Change-Id: Ieb5fa3562b6e60fdf179fa228510b2eeaaf9da30
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Fix parsing of
var { x = function(){} } = ...
Change-Id: I524e39c7a556c392a5359eafc445b59020ccadf2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
If the anonymous function is bound to an identifier, set the
name to the identifier.
Change-Id: Idbb3170210e6f91cca3c9bd36b2b6ddcb3a50c7b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
This got changed in ES8, but let's already take this in now,
as there are quite a few tests checking this behavior.
Change-Id: I73f86b8fd8a681881bcc9cc3132bef1589d5194f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
JS completion records have some finer details that can only be
seen when using eval(), where the value of the completion record
becomes important.
Fix most of those cases to be compliant with the spec.
Change-Id: I0c8105a8e778de7be3aea151d1bd64243aea067c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If QtQuickTest test executable was given filters that didn't match in any of the
qml files run, it exited successfully.
In combination with a Coin bug when the test function name contains a space,
this allowed failing tests to pass the CI. If the test function fails, the
repeat attempts would pass two arguments to the executable. Neither of those
hit, but that wasn't considered a problem.
Check that all of the test functions named on the command line are actually
executed during the whole run and otherwise exit with a non-zero exit code.
I assume there's no duplicates in the whole names of test functions scoped with
testcase names.
Task-number: QTBUG-68197
Change-Id: Icf7fe263945403f02920522dfd187aeb76b7cb3c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kalle Viironen <kalle.viironen@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
|
|
|
|
|
|
|
| |
This is useful when debugging failures retrieved with qjstest --cat.
Change-Id: I5297636f1f06984c78f4684e9be6f57267ee7b8d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This change moves the implementation of QtQuick.Shapes into an own
qt module, where classes are privately exported.
In this way Shapes QML types can be internally (= from other Qt
modules) instantiated also from cpp.
Change-Id: I428f981f0a1f3083e6571cbeaffa706fd8ef7254
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch eliminates the annoying behavior of the QML compiler that .qmlc cache
files are stored alongside the sources. When cache files are generated at
run-time, then they are always stored in the application's local cache directory
defined by QStandardPaths::CacheLocation (qmlcache subfolder). The application's
uninstaller is responsible for cleaning up the cache directory during removal.
If explicitly precompiled QML files exist at the source location, then they are
loaded from there and no cache file is being generated.
Storing cache files in the source directory is as problematic as an in-tree
build. The cache files pollute the source directory and create unnecessary
inconvenience with version control systems.
[ChangeLog][QtQml][QQmlEngine] QML cache files are now always stored in the
application's cache directory when being generated at run-time. If precompiled
QML files exist at the source location, then they are loaded and no cache file
is being generated. The application's uninstaller is responsible for cleaning up
the cache during removal.
Task-number: QTBUG-56150
Change-Id: I5a64b7f958e782e03c71873a82cef4b07011cbf1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old code was rather convoluted and expanded to quite
a bit of bytecode. It was also very hard to fix some
of the remaining issues with unwinding in there.
The new code handles unwinding a bit differently. Basically,
we now have three instructions to do what the spec requires.
SetUnwindHandler is the same as the old SetExceptionHandler
instruction. It basically tells the runtime where to jump to
to handle any abrupt completion (ie. throw/break/continue/return)
that requires unwinding.
UnwindToLabel is a new instruction that is used for unwinding
break/continue/return statements. It takes two arguments, one
telling the runtime how many levels to unwind and the second
a target label to jump to when unwinding is done.
UnwindDispatch is the third instruction and is invoked at
the end of each unwind block to dispatch the the parent
unwind handler if required and thus implement the support
for the levelled unwinding.
Change-Id: I079a39d0d897b3ecc2f0dc631ca29b25eae05250
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
This is to accommodate operating systems such as VxWorks that require
writable pages in order to perform the flushing
Change-Id: Iefcd26a4d7fa74fa046776c6ee2883399a4d31dc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
This just simplifies the code a little, and also enables event
filtering during delivery to Items.
Change-Id: I407dc9a19207f977b574f2a92f5da892e8752987
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
and prepare to let Pointer Handlers see these events.
There are several types of events which are delivered recursively
by a less-complex algorithm: wheel, hover, native gesture etc.
deliverSinglePointEventUntilAccepted() is intended for those.
Task-number: QTBUG-68119
Change-Id: I68c2d77925daab6107354c1cc12bb525ded936b1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
We want to be able to call it from the upcoming
QQuickItemPrivate::anyPointerHandlerWants function.
Change-Id: I15ef60303fa56f43e66b16c8dd0f4102070536d0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
We'll use this for delivery of QWheelEvents to both Items and
Pointer Handlers. Later we can perhaps use it for QScrollEvent too.
Task-number: QTBUG-68119
Change-Id: I04cbbc85fe1a86cf5fd0374d353876f7e6140b70
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For now we already have QQuickPointerNativeGestureEvent; and in the
future, there may be other single-point events such as wheel events.
It's handy to reuse the implementations of several virtual
functions and the m_point storage.
Also format braces more consistently in function implementations.
Change-Id: I4b514610b9ed2bd23b7e9a6f1acf826ebd9ebc45
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
>>> Non-static class member "reserved" is not initialized in this constructor nor in any functions that it calls.
Coverity-Id: 190209
Change-Id: Ia1c07ff16b2015d99ab15f387ac6cc687703fcbb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If wantsEventPoint() returns false, it means a handler has decided it
doesn't want the point, not that the point is missing from the event.
E.g. TapHandler rejects points which actually are being dragged, so
this warning was making a lot of noise in the mixer.qml manual test.
Change-Id: Ia8b8a2e41892ffe1b06ffafb51ef08c10234176c
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use qCDebug(lcTests) to avoid the output clutter unless the test
fails, then the CI system will re-run it with all logging categories
enabled. The "1-2-3-4" count was anyway not very informative.
As usual there was a -Wunused-result warning about ignoring the
return from qWaitForExposed, so now we don't ignore it. (Not sure
if it ought to be fatal though.)
Change-Id: I48f43083cbbcf27c81f0ac951b03d7b8b76e5300
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
We seem to be hitting a deadlock some of the time with this test,
probably because it uses two windows.
Task-number: QTBUG-69040
Change-Id: I2e6fd430b22a9e174973661f27c2ac29ec635f60
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/plugins/qmltooling/packetprotocol/qpacketprotocol.cpp
src/qml/compiler/qv4codegen.cpp
tests/auto/qml/debugger/qv4debugger/tst_qv4debugger.cpp
Change-Id: I010505326d76ee728ffe5fbd4c7879f28adadb12
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we don't get the expected message in 15s, output a warning and try
again. This will eventually be terminated by the overall test watchdog,
but experiments show that starting processes on the CI can take minutes,
so it's not worth it to have a separate timeout here. We still output
the warning, so that we see in the log when this happens.
Task-number: QTBUG-68741
Change-Id: I1ca9d0726753d566d8d89dd682d7d503fcd3a337
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Just passing the variable name to if() will make CMake evaluate it exactly
once, without the need for any specific tricks. The x${var} tricks may be
necessary for macro() arguments, which are not variables, but here an ordinary
variable in a function is tested.
Change-Id: Ibf8fc3efd43a6d8ea729eaaaf14ddeaa15804924
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ic3fc1a59703c11aab17529d4b0e92789e4650ca7
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|