| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The manual test now tests that QtQuick can be loaded second try, and an
autotest has been added to ensure that the function does not affect
correctness.
Task-Number: QTBUG-32078
Change-Id: Ifd55e12c2c31e2e181054f897f10f02a2811c5d1
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A supporting class for file selectors and qml import control, it allows
redirecting local file paths (use a QNAM for remote paths).
All work was done previously for Qt 5.1, including tests. This is just
making it public for Qt 5.2.
Change-Id: Icb319cc23200541c8e4088b2d400e9af94f3eee5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-33539
Change-Id: I645db2e12e3b46731c0bef04e2d48abb71650974
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Temporarily disables:
- tst_QJSEngine::dateConversionJSQt()
- tst_QJSEngine::dateConversionQtJS()
so that https://codereview.qt-project.org/#change,65560 can merge.
Change-Id: I415daf1c5bd137e1905773f88fe5ebaaab1e0a06
Reviewed-by: John Layt <jlayt@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make things consistent between 32 and 64 bit again
Adjust test results after the changes
Almost all uses of Value::empty() will get removed
in the future, but for now this gets all our tests
to pass again.
Change-Id: I44784a43432e78febbdfe78115c9be2a3e3ece76
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can't test GC reliably due to our GC being conservative
currently. Once we moved over to an exact GC, we can re-enable
the test.
Change-Id: I6778ed9bee3b41372705f6b41c1379d224335e53
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: If8b0c3b91be50678693868c10fefc3678008834d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I6b75adbf53a5be0deab023d2eed98ce2a7915551
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The class is going to be used all over the place, so let's
give it a short name :)
Change-Id: If61543cb2c885e7fbb95c8fc4d0e870097c352ed
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This brings things more in line with ScopedValue, and
also simplifies cleanup of Scoped values.
Change-Id: If5f1466b4e13c629d56c1e7c638937f61ba48f77
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ief2d75e9789dd367c603d90dc0fe5316a0d055e3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This tool simply runs QML files using a QQmlApplicationEngine.
It is configurable so as to behave, by default, like qmlscene in
that it will automatically place non-Window QtQuick 2 Items inside
a QQuickWindow with the size of the root item. The configuration
is extensible so that other GUI scenes can also use it by altering
the configuration files in their installation.
On OS X, it is an app bundle, and handles the QFileOpenEvent so that
it can be the tool with which qml files are usually launched by
double-clicking. (This does not break the ability to use it on the
command line too: the options still work, you just have to give the
path to the executable inside the bundle.)
Change-Id: I6bac813ce188be54842a78d7b532fcf2d54dc443
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html
Change-Id: I8fa7d0186cc8f0ba562695974829e37f1eb87f2f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also rename Value::toQString() to Value::toQStringNoThrow(),
and add a throwing toQString() method for JS use.
Change-Id: I821b33fc61abb7d08839df965fd337685f61a545
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Same problem as 3dbc7a72c7e38b2a34df3a9ef496547c795420af fixed in
another test. Same solution.
Change-Id: Ib476239e567c43e4657487c34cfc7157a1f5d33f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I22e853acfd2da337344b581bb0412c5f9930c510
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From a client point of view, there is no way to know which engine is
executing which script. So, instead of passing in a debugger for a
specific engine, have the agent set breakpoints on all debuggers.
Change-Id: I53b8cbc1bdc02c7705042f2ac3a99a041992c134
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This way, properties of QObject derived types can be read in QML
code for example:
Q_PROPERTY(MyObject* obj READ obj CONSTANT)
Previously, only QObject* types could be read by QML:
Q_PROPERTY(QObject* obj READ obj CONSTANT)
This meant that multiple properties and methods had to be created
for classes which were relevant to both QML and non-QML code.
This patch lifts that restriction.
As a consequence, we can also remove a Q_EXPECT_FAIL from
the qqmllanguage unit test. That test was introduced in
commit 92562eacbc3c (Allow signal parameters which are custom QML
object-types, 2012-07-13) to document knowledge of the limitation
while fixing it as much as possible.
Task-number: QTBUG-26662
Change-Id: Ic85fa73c6f3655189438ec509765bae2eab9993a
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Give the method a QMetaMethod::Public access instead
of a QMetaMethod::Protected one. This is valid
and is also needed when using the qmlplugindump tool
with composite types.
Change-Id: Ie1660716d8767cdc949f04a2f324799f2d2fe6c5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
| |
| |
| |
| |
| |
| |
| | |
QMetaMethod::Signal access is now QMetaMethod:Public in qtbase.
Change-Id: If1a3e76889bd25fb20ba6ed1e3b8206053acd8d9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When calling into JavaScript, the specific type of the return value can
differ if that return value is a number. This is not only the case for
non-integral numbers, or numbers that do not fit into the (signed)
integer range, but it also depends on which optimizations are run. to
check if the return value is of a number type, use this method instead
of checking against a specific userType.
Change-Id: I0464c062bd617c83b7a1e887f7853aa5cd8f43e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change in qtbase to make the QMetaMethod signals access Public instead
of Protected.
Change-Id: I2de17fdc7edb896eb82ae8f467919e4636904cf6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/debugger/qv8debugservice.cpp
src/qml/qml/v8/qv8engine.cpp
tests/auto/quick/qquickitem/qquickitem.pro
Change-Id: Ic4a1dcdd8b8a84155d2f2abefdf1da5c3a56af31
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qmlClearTypeRegistrations() shouldn't be called when instances of
QQmlEngine are still open. This can lead to unexpected behavior.
For the qmlClearTypeRegistrations() function there is separate
autotest
Task-number: QTBUG-32078
Change-Id: I32612bc82602593d902bbffc58911e427b50524f
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure we don't access an already deleted v8engine any more.
Task-number: QTBUG-33100
Change-Id: Ic517577ae30b41375cbf9f787cfe0a29121171e2
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By including the +10:00 offset in the date strings the test is actually
creating Qt::OffsetFromUTC datetimes, not QT::LocalTime datetimes. The
only reason the test currently passes is due to a bug in the QLocale
datetime formatter which uses the current system daylight time
abbreviation in all cases regardless of the datetime spec or if
daylight or standard time. Change 61774 fixes this bug but cannot
be merged as this test now fails. This change fixes the bug by
removing the offset, causing Qt:LocalTime datetimes to be created
which pass the test both before and after change 61774.
See https://codereview.qt-project.org/#change,61774
Change-Id: I1642ab7c8aa516b703216f3791e2fc60866d1895
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows faster pass through of the data if we have
nested calls.
Also make sure we always reserve at least
QV4::Global::ReservedArgumentCount Values on the
stack to avoid stack corruption.
Change-Id: I42976460f1ef11a333d4adda70fba8daac66acf3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Enable the register allocator for X86_64 on Linux and MacOS. The
implications are:
- handle as much as possible with current code with as few changes as
possible
- temporarily force the register allocator to spill unop/binop arguments
to the stack by doing a call in the implementation (as is the current
case), so no change is needed here
- only have loadThis and loadConst handle registers
- have any method that might need to handle registrers actually cope
with them
- the inline versions of binops are not generated, as they cannot cope
with registers. This will change when ISel for binops is added in the
next patch.
This means that we are still running with the handbrakes on, but allow
for full-throttle in certain/limited cases.
Note about the changed test: multiplication always returns a Number
(double), so the operands are passed as doubles, so __qmljs_mul will
return a double. For addition this is different: because it might return
a Number or a String, the operands are passed as whatever fits best. So
__qmljs_add will return an int when both operands are ints. Hence the
change to the tests.
Change-Id: If5bd7dffca8f7de5ba45af700b9c7bb568fc74b7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the last expect-to-collect-a-QObject test, avoid calling gc() from within
JavaScript and call it from C++ instead with zap stacking. That reduces the
probability of finding an old reference on the stack that would keep the
object alive.
Change-Id: Ia9c66dd188f31264a70ad4dbd20356d16aa7a057
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is strictly speaking a regression from 5.1/v8, which allows for that
as real world JavaScript appears to require it.
Task-number: QTBUG-33064
Change-Id: Iceaca84373f12fb08459ed007afb25b5a705fa31
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are cases where a qmlExecuteDeferred(o) can be postponed until the
context of o is being destroyed, at which point it's too late to create
an object in that context.
Task-number: QTBUG-33112
Change-Id: I7f981b5e34e3cb8a52c00de4742a7242d7e4df54
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/quick/qquickgridview/qquickgridview.pro
tests/auto/quick/qquickitem/qquickitem.pro
Change-Id: Ic54cafbdda1ac22757d2ee65dcc63a1b167c7556
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mark incorrectPluginCase() as expected failure on OS X 10.8
Task-number: QTBUG-32652
Change-Id: I8fd2c0ceacabfc74defe84fc6538b268145c5110
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The signal is emitted in a thread, so creating the spy afterwards
is racy (due to isSignalConnected() at the beginning of QMetaObject::activate).
Creating the spy before hand fixes the race, and using QSignalSpy::wait()
leads to much smaller code, in addition.
Note that the call to wait() itself isn't racy, even if it happens "after" the
signal emission: the signal goes via the event loop so it will always be received
by the main thread within the call to wait(), never before.
In addition setPath() is called once upon creation, and again via the
setProperty call. If we don't wait for the initial listing to happen,
we're replacing it, and then folderChanged is never emitted.
Change-Id: Iab7eada2e9db8ba710f05bc3b82941c782f36467
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes the test hangs on shutdown. Don't wait for the finished signal to be
emitted with an event loop, instead do the QThread equivalent of pthread_join:
wait().
Change-Id: I3583e8366c08fc0446682d124d86df4ffa3290d3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: Id4970555b2cbbc2df893dd6269fb8b884ce06e45
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Windows
The test relies on exact garbage collection, which we can't offer anymore.
But we can use the same tricks as in qqmlecmascript to improve the changes
of a successful collect significantly.
Change-Id: I7b3d7eca7a9bdb551a01a5a3da80549196c45f23
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the V8 based QML the global object would come _before_ the "QML global object",
which is the QML context (wrapper). We had a bunch of tests that verify the exact
scope chain and with this "compatibility" fix we can re-enable them.
Also fix missing prototype setup for the console object.
Change-Id: Ib3886f2d86472eb752a6ad1a2d8d89709548c5b4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Avoid empty statements after else.
Change-Id: Ia7782a3371bc79c7e93857aa252309d2824a5a9e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Change semantics of Object::query to not walk the prototype chain but let the
caller do that where needed (__hasProperty__)
* Re-implement query in various places
* Implement method_hasOwnProperty to fall back to query() if getOwnProperty failed
* Fix missing prototype initialization in some qml wrappers, as well as missing base
class calls to ::get()
Change-Id: Ic2a702fd5ff3be2ff3c8317a8a24f99940a9594f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|\ \ |
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I06f79bcbde13c7b12905492a17dbcbb4a594e557
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-32139
Change-Id: I715b97eb85bc4235de6a2bb696131efae56477fd
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using alloca instead of memset we can convince even MSVC to allocate memory on the
stack, to overwrite any previous dead V4 pointers.
Change-Id: Ic01bebfc6368e9c3ce1f6155a0f0ea206b90764c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There's an issue in QDateTime, now that we're using that in our ECMAScript
date implementation...
Change-Id: I7599900a670097623d1b7e5b9bb086ef43d6e7e6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can't get these tests to work reliably with MSVC because it depends on
how MSVC optimizes away memory stores that are "dead" stores for the compiler
but not for our conservative collector.
Change-Id: Ia5ca197573a09358c220d926deccaaf0bacc3a0b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The FLM updates its contents asynchronously using a thread, so before
we query for the new properties after changing the folder, make sure the
thread finished updating.
Change-Id: Icbd72801f639f9dffdc0dd85fbbd8b3ee53fedda
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes propertyVarCircular2 in clang release builds for example.
Some of the QML/GC related tests had functions like
function deassign()
{
someVariableThatWasholdingSomethingThatShouldBeCollectedNow = null;
gc();
}
which work fine with an exact GC like in v8, but with our conservative
collector they are not that reliable and much more vulnerable to a reference
to the object still being around somewhere. So to improve the reliability
of the test, this patch moves the gc() calls out of the JavaScript function
and back to the C++ caller side (these functions are invoked via QMetaObject::invokeMethod),
where the existing gc() helper function will call the collector and also
process posted deferred deletion events for QObjects.
Change-Id: I8c1f715d56d66bc567ea8bd1575f171460b15ac8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
builds
There's no equivalent to #pragma GCC optimize ("O0") yet, so we cannot run
these test (sort of) reliably with clang.
Change-Id: Ie41d3ba7911cefacca00165941761b20579107a2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds breakpoint support to the Debugger, a helper function in the engine
for enabling debugging (which will switch from JIT to the interpreter) and a
DebuggingAgent interface, for use by v4 clients.
Change-Id: I78e17a6cbe7196b0dfe4ee157fc028532131caa3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
|