| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
QString("new Date(%0)").arg(1380318500 * 1000.0) expands to "new
Date(1.38032e+12)". That's an unnecessary rounding and cuts off
interesting bits out of the date.
It took me quite a while debugging QScriptEngine trying to find out
why the time_t and the JS Date internal numbers were different.
Change-Id: Id880f3f11edd0af07e1726eac0242d4a9625c368
Reviewed-by: John Layt <jlayt@kde.org>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit eff4a0f3fca2e22d4be888cdd7953e1c2ab8c918. That
commit disabled a test that had a legitimate failure, caused by a
QDateTime regression. Said regression was fixed by qtbase commit
475cbed2446d0e3595e7b8ab71dcbc1ae5f59bcf.
Change-Id: I1212dc8414d5a0d8d87bbe2e2a667475fd30414c
Reviewed-by: John Layt <jlayt@kde.org>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-33622
Change-Id: Id719eadf3caa5ed34850ae189652f26eed7a6aea
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
|
|
|
| |
This reverts commit 37ec5822522baaa5b6e316103477d6da7e6d6a9c,
as 15da0a5af20fe6771bcb94ef8d46edbd5c8fb64c was also reverted with:
https://codereview.qt-project.org/#change,65560
Change-Id: I73bd91e3ac97384db27107051faead7a8cad3d91
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|\
| |
| |
| | |
Change-Id: Ia10bb1e8b5fa8bb93e76bf2e295df5c10336e582
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce compiler defines for 32/64 bit and adapt the
text file.
Task-number: QTBUG-32829
Change-Id: I9cdbe5b306264858953e2c710b48300f5690e7db
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
|
|\ \
| |/
| |
| | |
Change-Id: I98df818f6411c38a6ad8a8efaf6b6a0203dbb958
|
| |
| |
| |
| |
| |
| |
| |
| | |
This tests seem to be passing on MinGW 4.8, so removing them
from the expect_fail.txt file.
Change-Id: I3786d410f1e0937ddc1ceedd8ffd3c07d2619c40
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|\ \
| |/
| |
| | |
Change-Id: I4231685b78a7886928efe191aa7f09bb8a50e81e
|
| |
| |
| |
| |
| | |
Change-Id: I6d17ba2357350199bb0f0043cc0cc741df6785b4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes a test failure introduced by
15da0a5af20fe6771bcb94ef8d46edbd5c8fb64c.
tst_QScriptEngine::dateConversionJSQt and
tst_QScriptEngine::dateConversionQtJS
removed milliseconds from the JS-converted datetime, as
QTime::toString() previously did not include them. Now it does, so we
can remove this code.
Change-Id: Iaddfc050adf8360bee776086b27de001702d221d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
|
|
| |
So that the expected version for it is generated.
Change-Id: If414029e6cb420b33e5f36baf31ec5ef37c5c491
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|\
| |
| |
| |
| |
| | |
This starts Qt 5.1 release cycle
Change-Id: Ie8a79e8c58e45eab13391377dd33750ff2d98c08
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Unused member variable.
- Unused static functions.
- Return false for pointer.
Change-Id: Ie78332d3754e7f53ed75d6006c11d60c29719c7b
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
|
|/
|
|
|
|
| |
Change-Id: Ia124db1328e9d6b87c9b1b6858103f81e1678355
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
|
|
|
|
|
|
|
| |
This allows us to remove hardcoded depends information.
Change-Id: I778e3ca6a5f3f316948c652f4f30f00ebbf900cd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
|
|
|
|
|
|
| |
QPointerBase is not public or exported and it is to be removed
Change-Id: I84f8708a06f4c4495a073b3bde02015b263403cf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|\
| |
| |
| | |
Change-Id: If3a1efe3888b872702d75e25d1943ff79d57e9c6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
During back-trace generation we calculate a code offset towards JIT generated
code. Using JITCode::offsetOf() will crash/assert if the offset doesn't fit
into 32 bits, because the generated code can only encode relative offsets
in 32-bits and not 64-bits. However in this context - backtrace generation -
we just want to calculate the offset and are not interested in this
architectural limitation, therefore we can just calculate the offset ourselves
using the fully sized uintptr_t.
Initial-patch-by: Simon.Hausmann@digia.com
Task-number: QTCREATORBUG-8629
Task-number: QTBUG-23463
Change-Id: I0efadd5ed20855409122e1fcc9236fdfbc4f62a4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
QtScript -> Qt Script
QtScriptTools -> Qt Script Tools
Change-Id: Icf6b2ea3829247475f8902334b615f9a9206cc51
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding bic data for the following modules:
- QtScript
- QtScriptTools
Change-Id: Ie16f2aa9f399d3f05facbc9cfa2de2a0797f0962
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
We will not be testing BIC of Qt5 against Qt4
Change-Id: I649d0a7f9f628211d73b6ce740220e9ce116c52f
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ic4a2739c8caf2eac95e4a72d8d38cfb912d5fe2b
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|/
|
|
|
|
|
| |
Change-Id: I440b609d23570293f21f21a2cb31854366d06bf7
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
qmake now add CONFIG+=depend_includepath by default, making manual
DEPENDPATH setup unnecessary.
Change-Id: I0804385b636d6f5b3b0136cc472a1f9ecb7b7871
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: I0256b34290c3f281ab51141d84795f3514cb832d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
| |
Change-Id: Id4cf97c6ca3b9d4335daf4f32842fb07f51c557e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-27705
Task-number: QTBUG-27706
Change-Id: I1bd17444b5ba8effba52bf4c179751f25a9d5974
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
| |
The generated module_includes test is a super-set of this test.
Change-Id: I74f0abb3f577306b9cd5161a297458902d6da2e7
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
| |
Change-Id: Icc2d86758f43c89493b2ef3afee913c22e2a1b88
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Disable tests which need QtWidgets when that module is not available.
Note that a missing QtWidgets also implies a missing QtScriptTools.
Change-Id: I59ae3c25cfebf24ec9f8418b78b8b9f8c1caa7e3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
|
|
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: Id0b72b8c895b0eab04a740bf83859c9b646dd911
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
| |
qInstallMsgHandler got deprecated in Qt 5.
Change-Id: I4da748659f232d8b0fe4b16fe9cf83290762dd2c
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit df0ec196031d33850324dc5eeed2d71f61413885 assumed that JSC's
Interpreter::throwException function is called exactly once when an
exception occurs. That's wrong. If there is a native call inbetween
two JS calls on the stack, the call stack will be unwound to the
point of the native call frame, and throwException will return. After
the native (C) call frame has been unwound, throwException will be
called again to unwind remaining JS call frames, and so on.
This was causing QtScript to discard the backtrace belonging to the
inner-most JS frames; the backtrace would be regenerated from a
partially unwound state.
Fix this by ignoring subsequent calls to the uncaughtException()
callback once a backtrace has been captured; the backtrace is already
cleared before each evaluation is started.
Task-number: QTBUG-26889
Change-Id: I03e1d60fbac5e592cff1dd5ef70f397cf94454ae
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
It is to be removed, and is obsoleted by QMetaType::PointerToQObject.
By using QMetaType::PointerToQObject, we also gain the feature
that all pointers to types derived from QObject return true for
QScriptValue::isQObject().
Change-Id: I18392b5b6cde3a45d060c37612d987a5cf8e8f18
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This function has been broken since Qt 4.6 (when the JavaScriptCore-
based back-end was introduced). Fix it by introducing a callback in
JSC that allows us to capture the stack when an uncaught exception
occurs.
Task-number: QTBUG-6139
Change-Id: I4a829323c9fb0c8b2f16a2e5d6f0aeb13cc32561
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the JSC-based back-end, Error objects don't have a "stack"
property, and there is no Error.backtrace() function. Commit
a670b4756885b106db04651cd2a7030e02f0cc2f removed all mention of them
from the documentation, but not from the autotest; this code wasn't
reached anymore because of a preceding QEXPECT_FAIL in the autotest
function.
Change-Id: Ib34cbd5edff126137cec02bf68624e4a102ace84
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Such conversion is not guaranteed to be lossless on all platforms,
but it's still reasonable to support these types by default.
JSC::JSValue already had constructors for them.
The type matching / overload resolution in the QObject binding
already handled long and ulong, but the value conversion itself
was missing, for some reason.
Task-number: QTBUG-2124
Change-Id: I14ff29a8e949403234b7659c0aca8b48bcdbda0e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue 1: Even if a sender object was only weakly referenced, the
connection's slot function would still get marked. If the slot was a
closure, its scope could hold a reference to the sender object, so by
marking the closure, the sender would get marked, too - even if there
were no other references to the closure outside of the QObject
connection structure. This would cause the sender object to stay
alive, rather than being garbage-collected (i.e., it leaked).
Issue 2: It's possible that a closure used as a slot in a connection
for one QObject holds the only reference to another QObject that has
connections of its own. In that case, if the first object is
explicitly referenced, the second object (and its connections) should
get marked. But depending on the order in which the connections were
marked, the second object might get treated incorrectly.
This commit solves both issues by introducing an iterative scheme for
marking connections. The first pass marks only connections whose
sender object is referenced elsewhere in the JS environment. The
second pass marks connections whose sender object is referenced by
slots of the connections marked in the first pass. And so on, until
no more connections should be marked. At that point, any remaining
unmarked connections are effectively dead (belonging to QObjects that
can be reclaimed by the GC).
Task-number: QTBUG-26590
Change-Id: I50aa66f7fe407a6827b6f2a12e027275a2fb4655
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
|
|
|
|
|
|
|
|
| |
Makes it possible to use the collectGarbage_helper function in other
autotests too (e.g., tst_qscriptextqobject).
Change-Id: I4fefa36aba13ebf9f931f0e2b90d7ddbc0036a6c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was a regression introduced in Qt 4.6 (JavaScriptCore-based
backend). pushContext() should always create a context with a "clean"
scope (only the Global Object and the context's own activation object
should be in the scope chain).
The scope chain API is internal, but the wrong behavior could still
be observed e.g. through QScriptEngine::evaluate().
Task-number: QTBUG-18188
Change-Id: I138dabc665d7275fb85d3b5e1b473d56096a989e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
| |
Qt 5.0 beta requires changing the default to the 5.0 API, disabling
the deprecated code. However, tests should test (and often do) the
compatibility API too, so turn it back on.
Task-number: QTBUG-25053
Change-Id: I432719e9520662c9dda5eaa580f0b508de4120fe
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
| |
Change-Id: I044409a384a1931c7727cc679fb54a87be627a45
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was a regression against the pre-JavaScriptCore
implementation, where we used to store the selected method index as
an internal member of the QScriptContext(Private). But in the
JSC-based implementation, QScriptContext is implemented as a
pointer to a JSC::CallFrame, and there are no unused fields in
CallFrame where the method index can be stashed.
Refactor the Qt method call logic so that the method selection is
separate from the actual processing of the target method. This way,
QScriptContextInfo can compute the method index the same way that
the actual method call did.
Task-number: QTBUG-6133
Change-Id: I619fa8b91542d0b6ab5a44b00266cc0705c95823
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Address the "###" comment.
When QScriptEngine::newQObject() is called with the option
PreferExistingWrapperObject, the resulting wrapper object is cached
by the engine, in case it will be needed later (e.g., by a subsequent
newQObject() call for the same QObject, with the same wrap options).
But if a QObject wrapper object is only referenced by the QtScript
internals (i.e., not reachable from the JSC stack/heap, or kept in a
QScriptValue), the wrapper should not be kept alive if the ownership
is ScriptOwnership, or if the ownership is AutoOwnership and the C++
object has no parent.
If the wrapper is marked in that case, it won't get collected, and
hence the C++ object will be kept alive, too. In practice, QtScript
appears to leak memory (the objects will only be destroyed when the
engine is destroyed).
Our copy of JSC doesn't have a concept of weak references; the
ClientData callback in the JSC markRoots() function (which causes
QScriptEnginePrivate::mark() to be called) was moved to the end. This
enables the wrapper and connection marking logic to determine whether
a wrapper can be safely discarded (if it hasn't been marked by JSC by
this point, it must be a weak reference).
Task-number: QTBUG-21993
Change-Id: I61f6aafc91f080b80d3f5859148e645b80d9b653
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-26261
Change-Id: Ie269c56c0336b1c937d4ec551f913ae7537d0338
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
| |
Change-Id: Ic111b51472e0252446be4c2db0f991aac1c72e1d
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
U+10C1 and U+10CD has been added in the Unicode 6.1 and assigned with
general category Lu (Uppercase Letter). toLower(Lu) can never be Lu,
thus the failing testcases are just wrong -> omit them.
This also avoids using of QUnicodeTables internals in JSC.
Change-Id: I6aa6dab686dc3e3556ebe83c395c5d93e42cfb4f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
| |
Change-Id: I6aa6dab686dc3e3556ebe83c395c5d93e42cfb4c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
| |
They cause valgrind errors and crashes and it's unclear how
they are at all related to QtScript
Change-Id: I0bf1d6b047e0770d965a174cd66bfb3d7cad4ac3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|