aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Properly initialize the memberdata to undefinedLars Knoll2015-08-181-1/+4
| | | | | | | | | | | | | | This avoids running into assertions in other places. Change-Id: Ia7f9dbdccdd6d3a338845754801e881d44efebb7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Use the proper static ValueTypeProvider as intendedFrank Meerkoetter2015-08-181-1/+1
| | | | | | | | | | | | | | | | This was triggering an assertion while running the unit tests. Change-Id: I53a0216a6861a7ab7e3ec89a2b8bda0605b38aaa Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove special case for var propertiesFrank Meerkoetter2015-08-182-9/+7
| | | | | | | | | | | | | | | | In the new world order all the properties are QV4::Values. Therefore this special handling can be removed. Change-Id: Ia4d703256db7330936cd16a835d16d140adfe20e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Allocate a JS wrapper if there are any propertiesFrank Meerkoetter2015-08-181-2/+2
| | | | | | | | | | | | | | Properties are now stored as QV4::Values. Change-Id: I586ccacbeb3c131ff4af2e5913c484dc4f4b7462 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Use QV4::MemberData for property storageFrank Meerkoetter2015-08-182-194/+129
| | | | | | | | | | | | | | | | Unlike the Array type the QV4::MemberData can be sized exactly so no memory is wasted. Change-Id: Ia7b9b846a7b8017787324e5243ccf6233568d41c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Update copyright notice.Frank Meerkoetter2015-08-183-0/+3
| | | | | | | | | | | | | | Update the copyright notice on files containing larger changes from me. Change-Id: I46cb83161331ef2f49a6ec92c078d6dc8019081e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove QQmlVMEVariant specific workaroundFrank Meerkoetter2015-08-181-9/+1
| | | | | | | | | | | | | | | | A Q4x4Matrix wouldn't fit inside a QQmlVMEVariant. Therefore it was wrapped in a QVariant. Change-Id: I68864e456a4fd76143277d5a10d1a3f307e833f2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove unused codeFrank Meerkoetter2015-08-181-25/+2
| | | | | | | | | | | | | | | | The QQmlObjectCreator is the only user left. It is using it only with QVariant::Color. Change-Id: I5091fd160841118bee5d6cf6e30798f66c277b69 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Mark methods as overridesFrank Meerkoetter2015-08-181-11/+11
| | | | | | | | | | | | | | Let the compiler help to catch interface changes Change-Id: Ic4add183ca95ef287df41f35bd25c3e9eb15032f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Also remove the QQmlValueTypeProvider::destroyValueType interfaceFrank Meerkoetter2015-08-183-57/+0
| | | | | | | | | | | | | | After the removeal of the QQmlVMEVariant there is no user left. Change-Id: I97224127aac57aba9a80827f9292018d03609b85 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove the QQmlVMEVariant implementationFrank Meerkoetter2015-08-181-363/+0
| | | | | | | | | | | | | | This code is now obsolete. Change-Id: Id34e8663d0398286e8ce34db7d83c6957e779c30 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove the QQmlVMEVariant array memberFrank Meerkoetter2015-08-182-5/+1
| | | | | | | | | | | | | | All properties have been move into the varProperties JS array. Change-Id: Ib39a603d43ab5ef23aad3e6ccbdbc9b981c9da18 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Adapt the ValueTypeProvider interface and port its typesFrank Meerkoetter2015-08-184-122/+90
| | | | | | | | | | | | | | | | | | The ValueTypeProvider system allows non-QML modules to add new basic QML types. It needs to be changed when porting away from QQmlVmeVariant as underlying type of properties. Change-Id: I2b52d7e6f578647a39832896c28553404b9a679f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Port QVariant away from QQmlVMEVariantFrank Meerkoetter2015-08-181-6/+23
| | | | | | | | | | | | | | | | QVariants are now stored as QV4::VariantObject inside a javascript array. Change-Id: Idcc65eed6845b561038e224d74e5efdf0c9e1c28 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Port QObject* away from QQmlVMEVariantFrank Meerkoetter2015-08-182-20/+54
| | | | | | | | | | | | | | | | | | QObjects are now stored as QV4::QObjectWrapper in a javascript array. This is part of a series of patches slimming down the memory usage of QML properties. Change-Id: I270831d0f0f7bc17842cd2f8d2eb9661e09a3364 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Remove QQmlValueTypeProvider::copyValueTypeFrank Meerkoetter2015-08-183-60/+0
| | | | | | | | | | | | | | | | While reworking the QQmlValueTypeProvider interface I noticed that this code isn't used. Change-Id: I30a279ffabf3a1c70eaa1327e69b774f5e5981f0 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Port list properties away from QQmlVmeVariantFrank Meerkoetter2015-08-181-2/+2
| | | | | | | | | | | | | | | | The index into the list of list properties (an int) is now also stored as a QV4::Value. Change-Id: I16809c5027ed3c4264aab6dfed8b4519adf83e2a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Port QDate/QDateTime/QRectF away from QQmlVmeVariantFrank Meerkoetter2015-08-182-9/+96
| | | | | | | | | | | | | | | | | | Store QDate/QDateTime/QRectF in a javascript array. The values are wrapped inside a QV4::Variant. This is part of a series sliming down the memory usage of properties. Change-Id: I1b5c4e24c1e46d19c5c861941655efb7a972a6a5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Port QUrl/QSizeF away from QQmlVmeVariantFrank Meerkoetter2015-08-182-6/+65
| | | | | | | | | | | | | | | | | | Store QUrl/QSizeF in a javascript array. The values are wrapped inside a QV4::Variant. This is part of a series sliming down the memory usage of properties. Change-Id: I62338fe7fe101496340a8d89f33030d0df5121b7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Store all properties in one Javascript arrayFrank Meerkoetter2015-08-182-61/+28
| | | | | | | | | | | | | | | | | | Store both "normal" properties and var properties in the same js array. The second array which is removed by this patch was scaffolding for the initial brinup. Change-Id: I24f72a1d880a54f68f5562e5077dbc26e7db864a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Store int/bool/double/string and sizef as QV4::Value in a Javascript arrayFrank Meerkoetter2015-08-182-16/+189
| | | | | | | | | | | | | | | | | | | | This is the first patch in a series of patches removing the QQmlVMEVariant used for the storage of non-var properties. The overall goal is to reduce the memory usage of QML. The QQmlVMEVariant has a size of 8*sizeof(void*) + sizeof(int) which is quite an overhead for types such as int/bool or double. Change-Id: I301661d134724300942911a3d75258fe45356a7a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Simon Hausmann2015-08-18112-465/+1713
|\ \
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Ulf Hermann2015-08-18112-465/+1713
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qv4debugservice.cpp src/qml/jsruntime/qv4value_inl_p.h src/qml/jsruntime/qv4value_p.h src/qml/memory/qv4mm.cpp src/qml/memory/qv4mm_p.h src/qml/qml/qqmlnotifier_p.h src/qml/qml/qqmlproperty.cpp src/quick/items/qquickflickable.cpp src/quick/items/qquicktextedit.cpp tests/auto/quick/qquickwindow/BLACKLIST The extra changes in qqmlbinding.cpp are ported from changes to qqmlproperty.cpp that occurred in parallel with writeBinding() being moved to qqmlbinding.cpp. Change-Id: I16d1920abf448c29a01822256f52153651a56356
| | * Fix casing in Models and Views documentation.Mitch Curtis2015-08-171-1/+1
| | | | | | | | | | | | | | | Change-Id: I461c5a55e3dbb2dc713640ec4d7aa00397a4415d Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| | * Support QSGGeometry::lineWidth also in the batched code path.Gunnar Sletta2015-08-172-18/+26
| | | | | | | | | | | | | | | | | | Change-Id: Ifc664b9c718744b9549953e42ac3450a88403dea Task-number: QTBUG-47090 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| | * Add the GPLv3 license textThiago Macieira2015-08-132-0/+688
| | | | | | | | | | | | | | | | | | | | | LGPLv3 refers to it but does not include it in its body. Change-Id: Ib056b47dde3341ef9a52ffff13eed18cf3504738 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| | * Canvas: add a testcase for QSGSimpleTextureNode crash.Mitch Curtis2015-08-121-0/+22
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-47714 Change-Id: I8ecf2673ebc5de3d0fe1dec8a67bee81f5d4fb8f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
| | * Fix crash in QQuickCanvasItem::updatePaintNode()Tobias Koenig2015-08-111-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickCanvasItem manages the life time of the texture already, so it shouldn't set the ownsTexture flag on the QSGSimpleTextureNode, because that would result in a double deletion when QSGSimpleTextureNode::setTexture() is called. Change-Id: I7c1cc949b664d1a8b64bab092250439171e66233 Task-number: QTBUG-47714 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | * Fix incorrectly formatted code in QQmlEngine documentation.Mitch Curtis2015-08-111-1/+1
| | | | | | | | | | | | | | | Change-Id: I70832871cbd697b77cfcbbe425ba5936be1c01d5 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| | * Make QQmlExtensionPlugin documentation clearer.Mitch Curtis2015-08-071-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I spent too long wondering why my plugin wasn't being loaded, until I realized that the directory I was installing the qmldir into was not named the same as the module. This is already documented in the "Module Definition qmldir Files" documentation: http://doc.qt.io/qt-5/qtqml-modules-qmldir.html#contents-of-a-module-definition-qmldir-file But as I was writing a plugin, I was following this documentation: http://doc.qt.io/qt-5/qtqml-modules-cppplugins.html Where it was not at all obvious that they should be named the same. Change-Id: I3e20bc31f8b42c7141b4c22c8cb1750ba9782971 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Doc: added documentation to undocumented methodsNico Vertriest2015-08-047-2/+65
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-36985 Change-Id: Idc6f7961f4f02f66dc3d4a8e5d09dd15d43b7757 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| | * Fix selections in tables that span over several cellsEskil Abrahamsen Blomfeldt2015-08-042-7/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the code that converts text layouts to subtrees in the scene graph specifically for TextEdit, there was a cutoff to treat text tables as single nodes in the graph (for simplicity). However, this breaks selections, since the ranges spanned by each cell will be interpreted as overlapping, messing up the selection merging logic. We need the same approach here as for any other text frame where we check frame boundaries. [ChangeLog][TextEdit] Fixed issues with selections that spanned several cells in a table. Change-Id: I789041d84b5d163e209488f8f2f1f83a6471389f Task-number: QTBUG-46928 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
| | * Rephrase sentence about versioning in QQmlExtensionPlugin documentationMitch Curtis2015-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The original sentence (885735d0) is better than the new one (2c4c7a38). Some small adjustments were made in this patch as well. Change-Id: I2cc62c2ffcde7df289b07486439456350a2f60ab Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| | * Consolidate duplicated QQmlExtensionPlugin documentation.Mitch Curtis2015-08-033-149/+85
| | | | | | | | | | | | | | | | | | | | | | | | There have already been doc improvements made to one of the duplicated pieces and not the other. This patch uses the improved one. Change-Id: I12a6cb013e61f63e67fb9d691ee58ba12e21054d Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| | * Fix typo in plugin documentation.Mitch Curtis2015-08-031-1/+1
| | | | | | | | | | | | | | | Change-Id: I5cd851e493b6663bd0a7d09a1c5435c37a4ad7d6 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Fix selecting single character in middle of stringEskil Abrahamsen Blomfeldt2015-08-032-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix for QTBUG-46829 revealed a bug in the code to handle selecting part of ligatures. The ranges were assumed to be [start, end], while they are in fact [start, end>. This would cause the engine to assume the previous node overlapped completely with the selected node and that the node had thus already been added to the graph. Due to the bug in QTBUG-46829, this accidentally worked before, but when that bug was fixed, this bug appeared. Change-Id: I517d260de9f58db4504dd4320b7113fbbe305a81 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | * Fix disappearing selection spanning different scriptsEskil Abrahamsen Blomfeldt2015-08-032-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the way itemization is currently done in Qt, Cyrillic text (and other writing systems) separated by spaces will become separate items because the spaces are itemized as Script_Common. In the Scenegraph's text node engine, we should merge these items into a single node as long as the same font is used for all the text. But a bug in the engine caused this to fail when the text was selected. The symptom of this was that in some rare cases one of the items would vanish if it were in the middle of a selection. In order to support the bearing of selected text leaning outside the selection rect, I previously added a hack which would add all selected text as unselected text as well in b0783c21fb54b939f07ddf5658cc51113b8014e6. This was an awkward way of doing it and caused said regression. A less intrusive way is just to add the text to the scene graph twice, as this does not interfere with the logic needed to support selecting part of ligatures nor the engine's ability to merge nodes correctly. [ChangeLog][Text] Fixed regression with selections spanning different scripts. Task-number: QTBUG-46829 Change-Id: I0faed76fb2cd1ac0b2e5cc54b81008b5e2550733 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | * Work around ICC 16 beta compiler bug in SFINAE expansionThiago Macieira2015-07-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling std::vector<int>'s constructor (or assign()) with two ints can select one of two different overloads: the (size_t, value_type) overload which fills with n copies of the value or (iterator, iterator) overload, which would copy a range. libstdc++ had some workarounds for this scenario, by using an indirect dispatch to determine whether it was a pair of integrals or not. But ever since the resolution of DR1234 (https://gcc.gnu.org/bugzilla/ show_bug.cgi?id=43813) with C++11's more expressive SFINAE, the dispatching is done actually by the outer template by adding an extra template parameter that requires std::iterator_traite<T> to expand. That's where ICC fails: it expands std::iterator_traits<int> and that fails. It should have ignored the expansion and discarded that overload. The workaround is simple: pass different types as the parameters, which means the compiler cannot select the overload containing a pair of iterators. /usr/include/c++/5/bits/stl_iterator_base_types.h(154): error: name followed by "::" must be a class or namespace name typedef typename _Iterator::iterator_category iterator_category; ^ detected during: instantiation of class "std::__iterator_traits<_Iterator, void> [with _Iterator=int]" at line 163 instantiation of class "std::iterator_traits<_Iterator> [with _Iterator=int]" at line 876 of "compiler/qv4ssa.cpp" Change-Id: I52dd43c12685407bb9a6ffff13f5f783820213a5 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
| | * Use the new macros for disabling warnings in qtdeclarativeThiago Macieira2015-07-283-20/+7
| | | | | | | | | | | | | | | Change-Id: I476da50ba23598c7ca98651477fb701f74053b82 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
| | * qmlprofiler: Add missing #include <limits>.Friedemann Kleint2015-07-282-0/+4
| | | | | | | | | | | | | | | | | | | | | Fixes the build with VS 2008 (Desktop). Change-Id: I8c9682526754586ea6f597f540a4d5b42363f052 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
| | * Fix typo in squircle example.Mitch Curtis2015-07-281-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: I352de9cdd6842f11395982212889b6f0ed3ecc70 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Fix typo in QSGGeometryNode documentation.Mitch Curtis2015-07-281-1/+1
| | | | | | | | | | | | | | | Change-Id: I0138aa116abdf890060e868fb95e866db1c7a398 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| | * Instantiator: fix typo in docsAndrew Knight2015-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | The method is objectAt(), not itemAt(). Change-Id: Ie37636a6f9a641edfe3ec2b47def8806b9b10aa8 Reviewed-by: Martin Smith <martin.smith@digia.com>
| | * add null check for qmlRegisterSingletonType()Tasuku Suzuki2015-07-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the callback passed to the function returns nullptr, QQmlData::ensurePropertyCache(e, o) crashes. Change-Id: I11efd7e9d6c5f18611e796d896384dd14a280303 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Christopher Adams <chris.adams@jollamobile.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Oswald Buddenhagen2015-07-238-16/+51
| | |\
| | | * Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-07-208-16/+51
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/quick/qquickwindow/tst_qquickwindow.cpp Change-Id: I272074fa2ca259439cae2f686325932f7f9d7c01
| | | | * Doc: Document limits of QSGGeometry::setLineWidth5.4Kai Koehne2015-06-041-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-46260 Change-Id: Ib84a41da10d38391c3248a209a851f5b603d46b0 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | | | * Remove testing of active window change on hideAlan Alpert2015-06-022-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't actually control where the window manager assigns focus if the currently active window is hidden, so don't test for specific behavior. We can now remove the blacklist entry for this test. Change-Id: Ie09fc91c6317f6bb2d4b91000641ef241556fddf Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| | | | * Doc: Added the missing \brief and \image to the example docsVenugopal Shivashankar2015-06-023-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-41996 Change-Id: Ica6e069c7753a2004a4a4c0e93a49d1f240569d3 Reviewed-by: Martin Smith <martin.smith@digia.com>
| | | | * Doc: Added the missing examples \group page for Qt QMLVenugopal Shivashankar2015-06-023-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QHP meta info. was trying to link to the Qt Quick page, which failed. This should fix the issue. Task-number: QTBUG-46163 Change-Id: Ib012f8f73b74a51b7a8d4e849070742e94d40973 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>