aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-1022-109/+95
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.h tests/auto/quick/qquicklistview/tst_qquicklistview.cpp tests/auto/quick/qquicktextedit/qquicktextedit.pro tests/auto/quick/qquicktextinput/qquicktextinput.pro Change-Id: I95d2c20a8619e5b8fa361c941a16dd8dce3e04e7
| * | Remove prohibited uses of underscore + capital letterThiago Macieira2016-01-0810-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All identifiers starting with an underscore and a capital letter are reserved to the compiler and must never be used by the user code. Try to find a better name or, in the worst case, move the underscore to the last position in these identifiers. See commit cf63c63d558227fdbef09699c261560e7474f5ea in qtbase for a case of such an identifier causing a build breakage when the compiler began treating it specially (it was _Nullable). Change-Id: I1d0f78915b5942aab07cffff140f9f39c29f0fdf Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
| * | V4: Replace QVector with (Q)VarLengthArray in BasicBlock.Erik Verbruggen2016-01-062-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents extra mallocs in nearly all cases, because the number of incoming edges is not that big. The outgoing edge count has a maximum of two. Change-Id: I89195809952ce6087c5af51d717a4c2d8ac6b853 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * | Fix a couple of container detachmentsSérgio Martins2016-01-052-2/+2
| | | | | | | | | | | | | | | Change-Id: I0def20d858de7721771702907b7a431b5fb90a1f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | QQmlXmlHttpRequest: Fix a memory leak on use of XMLHttpRequest's responseXML.Robin Burchell2016-01-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DocumentImpl (the root of all evil) inherits QQmlRefCount, thus, it has an initial refcount of 1. We correctly released the initial ref in the case of error, but if there is no error, we don't: we pass it over to v4 using class Node which (in Node::Node) increments the refcount again. When Node is later on collected by the GC, the document's refcount is never decreased past the initial ref, thus, not deleted. Task-number: QTBUG-50231 Change-Id: Icefe4391a785c95cb8900219be8ba71f9c53785f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * | Fix value changed logic for ValueTypeProvider typesFrank Meerkoetter2016-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix broken value changed logic for types implemented through the ValueTypeProvider interface (QtQuick and Qt3d). It affects vector2d, vector3d, ... The signal was not emitted for the cases where the new value was equal to the default value of a given type. Also add a unit test to cover this area. Change-Id: I9491b0462c78fecc4c704ea36921611c1bd6b2ee Task-number: QTBUG-50204 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Fix crash in a non-debug build with assertions enabledThiago Macieira2015-12-291-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QV4::Heap::Base::setVtable has a Q_ASSERT on the state of Base::mm_data, but that member is never initialized anywhere (that is, the Base class does not properly protect its invariant). There were workarounds in some places for initializing the member, but only in debug mode. That was wrong for a number of reasons: 1) Q_ASSERT is still enabled if QT_FORCE_ASSERTS is defined 2) in release mode, the compiler will remove the double initialization anyway Another solution would be to give QV4::Heap::Base a constructor that initializes the member, but I am not sure whether adding a constructor to this class is permitted. Task-number: QTBUG-49681 Change-Id: Ic90fe6b1cbe84978a02fffff141beacbe73c0b9c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Revert "Fix QtSharedPointer::ExternalRefCountData object leaks"J-P Nurmi2015-12-236-27/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 839d2d3e2368bc8e107d22203b0611c852f54319, which has been causing crashes in qtquickcontrols2 auto tests and making it nearly impossible to integrate anything over the past few days. Change-Id: I570b286a067aae5e3c2d8c56ad601e1a6cb58c20 Task-number: QTBUG-50134 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | V4: Shrink IR::Temp by removing unnecessary padding.Erik Verbruggen2015-12-231-5/+5
| | | | | | | | | | | | | | | | | | | | | On 64bit systems, the size goes from 32 bytes to 24. Change-Id: Ic97f98b8f64fd5452f259e825a6bfd1656484fc5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Make RuntimeHelpers::numberToString() comply with EcmaScriptUlf Hermann2016-01-051-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We could use DoubleToStringConverter::EcmaScriptConverter().ToShortest() here, but we'd have to #ifdef it for the case that we're using the libc double conversion. As the formatting does not produce a lot of code I decided against that. Task-number: QTBUG-50131 Change-Id: If7a2ef8063b57ab35cda4a60d8ddd65442d70103 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | V4: use range-based for-loops in the IR.Erik Verbruggen2016-01-051-9/+9
| | | | | | | | | | | | | | | Change-Id: I488a8700c1fc070c1cbdfd8b6d1b1e5614be8702 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | tvOS supportMike Krus2016-01-014-2/+5
| | | | | | | | | | | | | | | | | | Change-Id: If48e8bcf55781d1148e15ce19e07cfbe35d829d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* | | Make QQmlDebugConnector::hasEngine() constUlf Hermann2015-12-221-1/+1
| | | | | | | | | | | | | | | Change-Id: I7441c24e3c2ae00ac274aa053d2e03d8f61ac830 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Remove dead codeFrank Meerkoetter2015-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixes coverity CID10615. Change-Id: I46861e4ddcc0347e9ba53da5b94acb813f67ab89 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-189-10/+44
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicklistview/tst_qquicklistview.cpp Change-Id: I9588a3e2c7d590e031dd4c66905a79f0d74d3ac8
| * | Fix QtSharedPointer::ExternalRefCountData object leaksJian Liang2015-12-186-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call destroyObject() for every QV4::Heap::QObectWrapper object in heap in QV4::MemoryManager::sweep() to make sure the QPointer object contained in QV4::Heap::QObjectWrapper is properly destructed. We also keep track of QObjectWrapper in QV4::Heap::ModelObject to make sure we destory them in QV4::MemoryManager::sweep() Change-Id: I3b3e96cfc300c2e21ab691762879ac2970afa90c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | qml: preserve composite singleton types.Marco Benelli2015-12-173-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | Composite singleton types used to always have version -1,-1; regardless of what is written in qmldir. Change-Id: Ia193e73695e57095f6a09b97768805f2f23cd56a Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | | Unbreak the case of "inplaceOpWithAddress" for the assembler.Frank Meerkoetter2015-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixes covertiy CID54551. Change-Id: I5ed6e8f3820e7def4a44369f36b964db30781b2a Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | | Rearrange the import paths so the qrc one is after the application pathAndy Shaw2015-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By moving the qrc import path to be after the application one we ensure that when the application starts up it will look for the imports in the same way as it would both on deployment and development machine. This is particularly important when building Qt statically because it should be looking for the imports inside the resources. Change-Id: I81f1b7e96c0f9df3671249668accad7adfd00df4 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Support debugging and profiling for pure QJSEnginesUlf Hermann2015-12-154-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The engines will register themselves with the debug server whenever they are created without a private object. The assumption is that we get the latest possible registration like this. They try to deregister in all dtors, but they check if a different engine has done the same first. Change-Id: Ife7d7532d1de2e4a6ee21d9f7e673fcdfff2387b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | QmlDebug: Add functionality to query if a server knows an engineUlf Hermann2015-12-151-0/+1
| | | | | | | | | | | | | | | Change-Id: Iba40a1705c18d19c4ef5723aeb8ee5113e31041c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Remove dead fwd-dclFrank Meerkoetter2015-12-1512-18/+0
| | | | | | | | | | | | | | | Change-Id: Ifd9fe32b80cd1ebc8dc9fda7c252ecdaae42cb37 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Provide a proper constructorFrank Meerkoetter2015-12-152-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | Fixes coverity CID10755. A proper constructor enforces that the 'Sync' type is properly initialized. Change-Id: I8a4758e5bb1cfea09664961b3d32db5ddf0e4515 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Initialize all the pointer membersFrank Meerkoetter2015-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | Fixes coverity CID10803. Change-Id: I2a9aa553bdd98c9d4662ccc3fc9d5f3d068de3ec Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Add missing nullptr checkFrank Meerkoetter2015-12-141-0/+3
| | | | | | | | | | | | | | | | | | | | | Fixes coverity CID85774. Change-Id: Id85c1c98254db3fb1934d166ce4ff3843f854251 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Remove dead codeFrank Meerkoetter2015-12-141-2/+0
| | | | | | | | | | | | | | | | | | | | | Fixes coverity CID89066. Change-Id: I8f7a0caf48facbb43057a721aa087ba2fa57d5cc Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Fix resource leakFrank Meerkoetter2015-12-081-0/+1
| | | | | | | | | | | | | | | | | | | | | Fixes coverity CID10686. Change-Id: I2ace4047ee66caa07d5c5746e750464b414d1b91 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Remove dead codeFrank Meerkoetter2015-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixes CID 154260. type is already checked above the return. Change-Id: I8a8702462d74a60163ae415553fe03fb7dc268f4 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Replace all occurrences of qSNaN() with qQNaN()Ulf Hermann2015-12-079-53/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We generally don't want to produce signalling NaNs as those cannot be used in any further arithmetic operations. In particular -(qSNaN()) claims it's not a double. Task-number: QTBUG-49753 Change-Id: I23cec4fec2ddf08c02a7d53db7f3b9ba46b6c288 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-079-142/+216
|\| | | | | | | | | | | Change-Id: Ica75a71062d0613e415f2433c5c22c2e251b37cd
| * | Fix bogus warning when using Binding on value typesLars Knoll2015-11-271-26/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | In addition streamline the code and only do the lookup of the property name once. Change-Id: If2bad4b9179214492ff5692cf1f503f927ca2246 Task-number: QTBUG-48918 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Don't try to resolve id values or singleton member as propertiesLars Knoll2015-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 1a1f10806c901bc10483370a932d41af0c9629cd started mapping id values to member expressions in the IR. But these should of course not get resolved against local properties of the object. Change-Id: I56bef738ec60b818d7af86bb1aa6d37b2c01d3fd Task-number: QTBUG-49484 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Anton Kreuzkamp <anton.kreuzkamp@kdab.com>
| * | Make property interceptors work on alias properties againLars Knoll2015-11-266-114/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression introduced by change 01c0c0963794f4dd8c3601e8340cc3dc4dec41bd, where interceptors wouldn't work correctly on alias properties. This required some refactoring and splitting out the interceptor handling from the VMEMO into it's own class, as we are now installing bindings directly on the target property of an alias and not on the alias anymore. We now resolve the target property inside the QML object creator and install a interceptor metaobject on the target if required where we can then register the interceptor. Change-Id: I3ebc8f492ce5dcab7acf901711b47336d5182ffa Task-number: QTBUG-49072 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Fix crash related to BoundFunctionsFrank Meerkoetter2015-11-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix prevents the crash documented in QTBUG-49076. To quote Erik on the cause of the crash: Call stack is probably: FunctionPrototype::method_bind -> BoundFunction::create -> mm::allocObject -> BoundFunction::BoundFunction -> Heap::FunctionObject -> (Scoped)FunctionObject::init -> engine::newObject -> ... -> mm::allocObject The call to Heap::FunctionObject in BoundFunction is the call to the parent class constructor, which causes an allocation. But at that point, BoundFunction's target is still zero-initialised (the real initialization happens first thing *after* the parent class' constructor is called). Change-Id: If256f59168867cba9c886642ebaacb1d56801da4 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Utilize the resources when building statically.Andy Shaw2015-12-022-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed so that the qmldir file is picked up correctly when using a static build of the plugins in the application as this gets taken care of automatically by qmake. The Q_INIT_RESOURCES line itself is only needed statically because no resource file is needed for dynamic libraries so it is protected with the QT_STATIC define. Task-number: QTBUG-35754 Change-Id: I9059e10c0846548f365fe4f95dd9c6100eeb43cd Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Use qtbase add/sub/mul with overflow implementations.Erik Verbruggen2015-11-271-63/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those use compiler intrinsics when available. If not, the same code that was previously in qtdeclarative is used. Depends on 5ff7a3d96e0ce0dcb3d388b53d038cdd40c7a975 in qtbase. Change-Id: I8adf1a9d368ffc4e368260de518725ed7be6d2b8 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | qv4identifier: Remove unused reserve() functionRobin Burchell2015-11-251-2/+0
| | | | | | | | | | | | | | | Change-Id: I3b9bfc8586c660d5e09ae16a32774f520263b573 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devLiang Qi2015-11-234-5/+30
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-214-5/+30
| |\| | | | | | | | | | | | | | Change-Id: I3567f741394f912d4312460e85555b6c39b61cb4
| | * | Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Liang Qi2015-11-201-0/+3
| | |\ \
| | | * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-171-0/+3
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/util/qquickimageprovider.cpp Change-Id: I7ca4e49468b5ba697208287be4684e42b9900023
| | | | * Don't normalize the path via the shell if it is a qrc based pathAndy Shaw2015-11-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing a qrc based path to shellNormalizeFileName() was causing problems with the Windows API. Since it won't change the path in this case anyway because the path is not valid on the file system then there is no need to do any checking. Task-number: QTBUG-46248 Change-Id: If20075c25aade3740287250b4e1f31538b398f8f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| | * | | Doc: Added link to Extending QMLNico Vertriest2015-11-201-2/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-33521 Change-Id: I616369c3a535395ddb465a2f787dec7fc055a503 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| | * | Document default argument behavior of Qt.createComponent()Mitch Curtis2015-11-161-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not currently clear how to get the default mode when also passing a parent, though lots of Qt code simply omits the argument. Change-Id: I35db7cf57991a2a3fafe4d00df2879b98037e93c Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| | * | Doc: added link to Qt5 Cadaques in external resourcesNico Vertriest2015-11-121-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-45921 Change-Id: If114e6bab5e69851a67bdda1588a428b31d7b691 Reviewed-by: Martin Smith <martin.smith@digia.com>
| | * | Introduce a more sane "default constructor" for Qt.matrix4x4()Sean Harmer2015-11-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no arguments are specified, create an identity matrix. This is by far the most common use case. This change avoids having to type in the 16 arguments of the identity matrix. Change-Id: I9e0d71897c5368d19ae87cff936df4b9e5e9b84a Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | | Remove libdouble-conversionUlf Hermann2015-11-235-36/+38
|/ / / | | | | | | | | | | | | | | | | | | | | | We can use facilities in qtbase to convert doubles to strings now. This also makes the fix to QTBUG-47070 obsolete. Change-Id: I2f813164ff788b96281c3ffd37d8d2c65665de80 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Allow enabling of QML profiler in JS-only environmentUlf Hermann2015-11-181-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | It's probably not so easy to use as you still need a QQmlDebugConnector, but it might work for some. Change-Id: Ibca42666a8ac0f81e2f30843f790ffd61b5ef65f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Extend QDebugMessageServiceUlf Hermann2015-11-172-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add category and timestamp, and allow synchronizing the timestamps with QQmlProfilerService. Change-Id: I8dc67e43e1087e231167fc4cfdfb5f659e00c5b2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Use QJSEngine instead of QQmlEngine in debug servicesUlf Hermann2015-11-174-16/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to use the debug infrastructure in a JavaScript-only environment. Also add override declarations to make such changes easier in the future. Change-Id: I171271f0ad3868b3de71a8a2316a24602f94200a Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>