aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
Commit message (Collapse)AuthorAgeFilesLines
...
* | QmlDebug: Don't duplicate Qt namespace when importing debug pluginsUlf Hermann2015-10-161-1/+3
| | | | | | | | | | | | | | | | | | | | Q_IMPORT_PLUGIN already adds the Qt namespace to the symbols. Task-number: QTBUG-48415 Change-Id: I25b4ffdcddd0bdd52bfd390964b9c1a333a79b30 Reviewed-by: hjk <hjk@theqtcompany.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | QmlDebug: Add a debug connector for use with native debuggershjk2015-10-161-3/+12
| | | | | | | | | | | | | | | | | | | | This debug connector offers a few simple C functions a native debugger can hook into to communicate with QML debug services. It is the base of the 'native mixed' debugging mode in Qt Creator. Change-Id: I32ce1f21be8e3522dccf1210d4de3b131b819bc5 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | Make obj2's text consistent between qtBinding.[23].qmlEdward Welbourne2015-10-161-1/+1
| | | | | | | | | | | | | | | | The expected text output sides with .3.qml, so fix .2.qml Task-number: QTBUG-48652 Change-Id: I91ac0ab0854df95e06225938d195cd5e3be5abc3 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
* | Only set V4 debugger when service is enabledUlf Hermann2015-10-151-1/+0
| | | | | | | | | | | | | | Otherwise different debug services could steal each other's debugers. Change-Id: Ic0a50333d21c7d20a7124240ea598f8446400ae3 Reviewed-by: hjk <hjk@theqtcompany.com>
* | Don't delete singletons objects owned by C++.BogDan Vatra2015-10-151-1/+6
| | | | | | | | | | | | | | | | | | | | This way we can enable the usage of a single singletons in both worlds. Currently singletons are destructed before the other QML types, and using a singleton that is owned by C++ we don't need to care about the destruction order anymore. Change-Id: I120fcb8659e16321ae6e70c7b0d62be3bc650d73 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Doc: fixed compilation and link errors qqmlitemmodels.qdocNico Vertriest2015-10-151-20/+20
| | | | | | | | | | | | Change-Id: Ifed9787a4fc00a235faf043dbb0b1871fbfa9b06 Task-number: QTBUG-43810 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Doc: corrected syntax errors \qmlmethodNico Vertriest2015-10-151-2/+2
| | | | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: I694e9046ba32144b084277637b47d7ce23c633a9 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Align QQmlVMEMetaData to int.BogDan Vatra2015-10-151-2/+1
| | | | | | | | | | | | Task-number: QTBUG-48139 Change-Id: I12bec1ec72a99de0c3f5b4b12d22fba2b66c8f49 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix compile error.Milian Wolff2015-10-151-1/+1
| | | | | | | | | | | | Change-Id: I563b4df01b6d57c4a5a015be34c7a7616f4894de Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove line numbers for statements without side-effects.Erik Verbruggen2015-10-151-46/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | When debug mode is not enabled, line numbers are only used in order to generate usable stack traces. Therefore statements that cannot fail/throw do not need line numbers associated with them. Of course, when debug mode is enabled, this is not applicable. The effect is that the generated code for such statements shrinks by 2 loads and 1 store. Change-Id: I4ec425dd20b56043e8ca0e4c68afc683eb9b50e7 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QmlDebug: Split QV4::Debugging::Debuggerhjk2015-10-144-31/+44
| | | | | | | | | | | | | | | | | | | | ... into a pure interface and a QV4::Debugging::V4Debugger implementation. This is in preparation of a second implementation of this interface to be used with 'native mixed' debugging. Change-Id: I3078dcfe4bdee392a2d13ef43a55ca993e7b88d8 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | Libraries: Fix single-character string literals.Friedemann Kleint2015-10-135-10/+11
| | | | | | | | | | | | | | Use character literals where applicable. Change-Id: I294fc4cb5cbbd23df9735ba2b398118f37cbe08a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Initialize member variable.Erik Verbruggen2015-10-131-0/+1
| | | | | | | | | | | | | | It's never used (because it's qSwap()ed), but still. Change-Id: I64cbb39dcd9f9368c73b5b9bf98dc1f3a52a13ef Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Make QML composite types inherit attached propertiesJ-P Nurmi2015-10-099-41/+107
| | | | | | | | | | | | | | | | Change-Id: Ic06af4805da987dd08e361f2668e7a1788d3eefe Task-number: QTBUG-43581 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-0695-0/+1045
| | | | | | | | | | | | Task-number: QTBUG-48594 Change-Id: Ifc207938de7f0c8995fc712df92665f222612647 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | qqmlvmemetaobject.cpp: Fix conversion warning by MSVC2015/64.Friedemann Kleint2015-10-051-1/+1
| | | | | | | | | | | | | | qml\qqmlvmemetaobject.cpp(620): warning C4312: 'reinterpret_cast': conversion from 'int' to 'quintptr *' of greater size Change-Id: Ic24caf32b82b06bce04f4d4917efdf303be68444 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-029-14/+23
|\| | | | | | | | | | | | | Conflicts: src/quickwidgets/qquickwidget.cpp Change-Id: I3e2326bc86a9d3adaafbe3830b75ce9afa81c45b
| * Disable Clang warning -Wheader-hygiene.Marcel Krems2015-09-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | qqmlinfo.h:51:17: warning: using namespace directive in global context in header [-Wheader-hygiene] In this case the use of the using directive is intended. See also: 0181dc283f6a783783b7e622b4e2dc241edd8a54 Change-Id: I8f94cefdab7ce70e375ad8b01f59eb0f9d840708 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * Fix QQmlComponent::beginCreate documentationMitch Curtis2015-09-151-2/+2
| | | | | | | | | | Change-Id: I4ef2cfc83d308a017ef4a98eac94aac52c49d117 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Link to JavaScript Environment Restrictions doc from Global Object docsMitch Curtis2015-09-141-2/+2
| | | | | | | | | | | | | | | | I added the note to the global object documentation in 81dad6e, but I wasn't aware that a more detailed section existed elsewhere. Change-Id: I2b8c1c6ade0d9f27d489a246839ade89ee868a28 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| * Qt QML documentation: fix link that should be in listMitch Curtis2015-09-101-1/+1
| | | | | | | | | | Change-Id: Ied44c63fab703db5188ec8f829363a4999f85560 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| * Document that modifying the globalObject of QQmlEngine is not supportedMitch Curtis2015-09-092-2/+4
| | | | | | | | | | | | Change-Id: I62feb04ae26b6988c6e392b27bd1c3b7f630fd57 Task-number: QTBUG-48175 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Doc: corrected broken linksNico Vertriest2015-09-082-3/+1
| | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: Ib47749f95c9ce9db7f2b97726c13ccb9550981e4 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Fix compilation with ICC on WindowsThiago Macieira2015-09-023-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QV4::Managed is not copyable and its default constructor is deleted. However, it and classes derived from it are exported, which on Windows means the compiler will instantiate all possible functions and add to the DLL. ICC on Windows, unlike MSVC, attempts to instantiate the default constructor of the derived classes (like CallContext) and then the build fails due to the deleted Managed() constructor. Instead, use V4_MANAGED to mark each and every managed class as non- default-constructible and non-copyable. Only one note: the V4_MANAGED macro in QV4::Managed itself takes different parameters, so it needs to be slightly different. Task-number: QTBUG-48063 Change-Id: I42e7ef1a481840699a8dffff140007c65a7a35db Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | Doc: replaced \keyword with \target when not at top of pageNico Vertriest2015-09-284-5/+5
| | | | | | | | | | | | | | Change-Id: I20bc53c71d6c3217ec51a3fd5ad8e5a38bb2043b Task-number: QTBUG-48482 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Smaller cleanupsLars Knoll2015-09-252-9/+5
| | | | | | | | | | Change-Id: Ib75bf9de898975dcbb98b411a1e98524754c0788 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove some unused codeLars Knoll2015-09-252-136/+0
| | | | | | | | | | Change-Id: Iaa89515891624602cf63701364c77e49ea1e1bd9 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | CleanupsLars Knoll2015-09-252-20/+4
| | | | | | | | | | | | | | Remove some unused code Change-Id: I1d6612649cf279834f9ce92da60a85495389555e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Get rid of the special handling of list properties in the vmemoLars Knoll2015-09-252-24/+33
| | | | | | | | | | | | | | | | | | There's no need to store the list properties separate from other property data in the vmemo, simply wrap the list in a QVariant as we do with the other more complex types. Change-Id: I7c7946503cb603c401e11a367986c6923dffe68f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | CleanupLars Knoll2015-09-251-13/+14
| | | | | | | | | | | | | | | | | | Restructure code to make the flow more obvious and avoid executing code that is afterwards being ignored for list properties. Change-Id: I1b21562d48cec34ecb722f9012166926d55e4724 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Get rid of the aConnected bit array in the vmemoLars Knoll2015-09-252-15/+12
| | | | | | | | | | | | | | | | We can track the state just as easily by simply checking if the endpoints metaobject is already set. Change-Id: I5cea909b2525bf37d404f6d54ead2bdf9538cff4 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Properly refcount the property cacheLars Knoll2015-09-251-0/+4
| | | | | | | | | | Change-Id: Ia37d4a5e64b653c9af614ed633c3c443190d015a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Cleanups to property allocation in the VMEMOLars Knoll2015-09-252-31/+24
| | | | | | | | | | | | | | | | There's no need for a separate propertiesAllocated bool, we can keep that state in the WeakValue itself. Change-Id: Ife0f517bee9bc5830680eec68983767379a3c2cf Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Reimplement the right metaCall() methodLars Knoll2015-09-255-9/+16
| | | | | | | | | | | | | | | | The goal should be to make these dynamic metaobjects independent of the concrete QObject instance. Change-Id: I13448420d15792918cc30e994a8d6d83216a0a1a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Add extension API to QJSEngineMitch Curtis2015-09-255-40/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows users in a JavaScript-only environment to install extensions including: - Translation functions (qsTr(), etc.) - The console object (console.log(), print(), etc.) - Garbage collection functions (gc()) This deprecates installTranslatorFunctions(). This API results in less clutter in the API, as we'd otherwise need to have several functions for each type of extension. [ChangeLog][QJSEngine] Introduced an extension API that allows installing various function and object extensions (qsTr(), console.log(), etc.) to QJSEngine. [ChangeLog][QJSEngine] installTranslatorFunctions() was deprecated in favor of the new extension API (see installExtensions()). Change-Id: I4d6eb2097c3eda6810e967b2e8f6441c28c91a16 Task-number: QTBUG-40772 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | CleanupsLars Knoll2015-09-251-32/+22
| | | | | | | | | | Change-Id: I68b5253eafc0f3786e4aa671b388a8f4c78c9ed7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Reduce memory consumption of signal handlersLars Knoll2015-09-254-8/+23
| | | | | | | | | | | | | | | | | | Move the connect/disconnect methods for signal handlers into their prototype, so that we don't need to define them per instance anymore. Change-Id: Iac1e6d1dd7bce86730dbb6c51e2c3f79713641f7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Set the correct prototype at construction timeLars Knoll2015-09-252-6/+4
| | | | | | | | | | | | | | Slightly speeds up construction of value type wrappers Change-Id: Ia50e9bcdb07475ed15b5aac908714d25631a0de8 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Smaller cleanupsLars Knoll2015-09-253-14/+14
| | | | | | | | | | Change-Id: I68f7ea476cb00a571908b7ec0a036f8517b091d5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | V4: Fix SparseArray::deleteNodeRon Hashimoto2015-09-251-7/+4
| | | | | | | | | | | | | | | | | | SparseArray::deleteNode should modify size_left only if the deleted node had a right child Change-Id: I0f3504a5c6568dbd9e392bf83eaf3f9780eb2b84 Task-number: QTBUG-46022 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Improve algorithm to handle GC of StringsLars Knoll2015-09-251-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | The old algorithm could lead to excessive garbage collection in cases where lots of strings are being created. The new algorithm is a bit more agressive in doubling the GC limit for string data. This doubles the performance of both the v8 regexp and splay benchmarks. Change-Id: I2b5cd27c14410b033038a409d5ae03c9636d4f71 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fall back to the correct methodLars Knoll2015-09-251-1/+1
| | | | | | | | | | | | | | | | This avoids one indirection in the called code and should allow the compiler to generate slightly better code for this lookup. Change-Id: I6ca8063496015fa74d7f48a7c038dfdd29bb2dd2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Cosmetic improvements to marking of objects during GCLars Knoll2015-09-252-6/+7
| | | | | | | | | | Change-Id: I79a7093c7086ea7f34252f097f18fe7c835053aa Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Speed up creation of Array literalsLars Knoll2015-09-253-9/+22
| | | | | | | | | | | | | | Gives around 10% speedup on the v8 splay benchmark. Change-Id: I47f64e7b73bde59ac3bdd2c94fc199ecfbbf290e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Add method to convert identifiers back into QV4::String objectsLars Knoll2015-09-253-1/+20
| | | | | | | | | | | | | | | | Allocating a new String for the Identifier is wasting both memory and CPU. Let's rather extract it from the IdentifierTable. Change-Id: Ibb9b2ac9775fefce74602d6954586195cdd5814e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Minor cleanupLars Knoll2015-09-251-1/+1
| | | | | | | | | | Change-Id: I478967dacc6f0e7b8a6df706bb878f46306871ce Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Speed up QQmlEngine constructorLars Knoll2015-09-254-37/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Freezing the global object using a script is pretty slow, esp. given that the script needs to be compiled as well. Rather do it programmatically. The old code actually had a bug that would only cause the global object to be frozen, not it's children. The new code fixes this, but doesn't completely freeze the objects. Instead it makes all the existing properties of the global object and it's children readonly, but still allows extending existing objects with new properties. Change-Id: I0d7331cdc89a0ac717b8ed3b1a490b2a3742de02 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Improve warning for QtQml.BindingTobias Koenig2015-09-241-3/+33
| | | | | | | | | | | | | | | | | | | | Print a warning if there is no property with the given name of the specified target object, or the property is read-only. Change-Id: I5dc2e8330fb1ce53be396b7bf5baf13c1702d2f4 Task-number: QTBUG-39243 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Factor out method to get pretty QML type nameTobias Koenig2015-09-243-27/+42
| | | | | | | | | | | | | | | | | | Factor out the code to get the pretty QML type name for an QObject from ~QQmlInfo and put it into QQmlMetaType::prettyTypeName() method. Change-Id: I54ab0c49ba4a52074877447ef67708104f954f2d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix read of uninitialized value (undefined behavior)Thiago Macieira2015-09-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 92836d052efb6d8073136e8507083f93fb60bb80 fixed the type punning but introduced undefined behavior on 32-bit systems. Detected by GCC 5.2 qv4value_p.h:96:55: error: ‘v.Qti386::QV4::Value::_val’ may be used uninitialized in this function [-Werror=maybe-uninitialized] qv4scopedvalue_p.h:199:15: note: ‘v.Qti386::QV4::Value::_val’ was declared here Trace: starting at qv4scopedvalue_p.h:199 Value v; v = o; => Value &operator=(Heap::Base *o) { setM(o); => Q_ALWAYS_INLINE void setM(Heap::Base *b) { quint32 v; memcpy(&v, &b, 4); setValue(v); } => Q_ALWAYS_INLINE void setValue(quint32 v) { setTagValue(tag(), v); } => Q_ALWAYS_INLINE quint32 tag() const { return _val >> 32; } The call to tag() reads from _val before it is initialized. Up until C++11, uninitialized variables simply had an indeterminate value. Starting with C++14 (see N3914, resolution of DR1787), reading that variable not as an unsigned char has undefined behavior. See 8.5 [dcl.init] p12: ... When storage for an object with automatic or dynamic storage duration is obtained, the object has an indeterminate value, and if no initialization is performed for the object, that object retains an indeterminate value until that value is replaced (5.18). [...] If an indeterminate value is produced by an evaluation, the behavior is undefined except in the following cases: [list of cases that use unsigned char] Change-Id: I42e7ef1a481840699a8dffff1406852f2badabca Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>