aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | | Fix possible stack overflow with many property bindingsEskil Abrahamsen Blomfeldt2015-07-214-29/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are a lot of bindings to the same property (like 20 000), we would get stack overflows because the notify list for the changed signal was traversed recursively. Changing this also speeds up the traversal. I see something like ~40% reduction in the case of layout() for a notify list of around 200 items. Note: To make it possible to traverse the double-linked list backwards, the next-pointer needs to be moved to the beginning of the struct, because the implementation pattern assumes this (node->next->prev = &node->next). I think this code has rotted after it was added, since the prev pointer was never actually used anywhere before. Change-Id: Icdfac50b7c8584a908efa65694c7f5f416cb153b Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | fix readonly metaproperties (revealed by compiler warning)Shawn Rutledge2015-07-213-2/+25
| | | | | | | | | | | | | | | | | | | | | Found thanks to -Wparentheses + gcc 5.1 Change-Id: Iad784a26d268b85f7c67623fd63f0b097a9f29f9 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | qquicktext: Fix using CSS line-height with RichTextKai Uwe Broulik2015-07-202-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Only if lineHeight has explicitly been set it will override the block format. Task-number: QTBUG-45204 Change-Id: I6e0d6dd70460cbf436dda3e5640bb9b1d16d7e5a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | | Consistently use the override keywordThiago Macieira2015-07-199-22/+22
|/ / | | | | | | | | | | | | Clang doesn't like when it's inconsistent. Change-Id: Ib306f8f647014b399b87ffff13f23eebda07757b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix warning about returning address of local variable by MSVC2015 in ↵Friedemann Kleint2015-07-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | qv4engine.cpp. qtdeclarative\src\qml\jsruntime\qv4engine.cpp(179) : warning C4172: returning address of local variable or temporary: dummy Disable warning as using the address is intended. Change-Id: Ide894a8dc2fb94f11d0455723c46567c84d91f8d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Let unit tests pass if xmlpatterns is not aroundSune Vuorela2015-07-162-1/+5
| | | | | | | | | | | | | | | | | | | | The blacklist for xmlpatterns tests is not applied unless xmlpatterns specifically has been disabled, but code builds anyways. Fix up the blacklist. Change-Id: I013701e787e8ec28f1282a911270dd7a158d6f01 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | StocQt demo: Fix text layout issuesTopi Reinio2015-07-162-65/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The precision of the data received from the stock feed has changed, and so we must round it before assigning to Text objects to avoid overflow. This change also rearranges the layout of the StockInfo element, using Flow and proper word wrap and eliding for long company names to improve the look of the stock info view on narrow screens. Change-Id: I53aaefd1cdc984fcceae9874e5ca2f66b47a190d Task-number: QTBUG-47207 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Fix trivial bug where ArrayBuffer.isView never returned falseNobuaki Sukegawa2015-07-152-1/+10
| | | | | | | | | | Change-Id: I168d2ec54997d057e3d32463c2b153df38073838 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Doc: replace Mac OS X with OS XNico Vertriest2015-07-157-7/+7
| | | | | | | | | | | | Task-number: QTBUG-40759 Change-Id: If21b4551eb95af3370cc21edd7a6721fc06e1346 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Test if the state machine reacts to a QObject signal.BogDan Vatra2015-07-154-1/+201
| | | | | | | | | | Change-Id: I4987e10ac0b31977249ce9ebe00e26de334db30d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix QML/JS debugging.Erik Verbruggen2015-07-121-5/+5
| | | | | | | | | | | | | | | | | | | | Converting from any ScopedObject to Object* resulted in the same pointer value. Prevent this by not using either, but instead use the QV4::Value directly. Task-number: QTBUG-47061 Change-Id: I98d3889f5504dbd5962099d30d4af9d57bc518f9 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | V4: track C++ heap usage for Strings in the MemoryManagerErik Verbruggen2015-07-107-19/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and do a GC run when it exceeds a threshold. The issue with Strings is that they hold on to QString instances that store the real content. However, the GC only sees the light-weight JS handle, and doesn't take the size of the backing content into account. So it could happen that big QStrings accumulate in the heap as long as the GC didn't reach its threshold. The newly introduced unmanaged heap threshold is upped by a factor of two when exceeded, and lowered by a factor of 2 when the used heap space falls below a quarter of the threshold. Also grow the threshold if there is enough space after running the GC, but another GC run would be triggered for the next allocation. There is a special case for Heap::String::append, because this method will copy the data from the left and right substrings into a new QString. To track this, append notifies the memory manager directly of the new length. The pointer to the memory manager is stored in Heap::String, growing it from 40 bytes to 48 bytes (which makes it still fit in the same bucket, so no extra memory is allocated). Task-number: QTBUG-42002 Change-Id: I71313915e593a9908a2b227b0bc4d768e375ee17 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | doc: fix copy/paste error in warningGunnar Sletta2015-07-091-1/+1
| | | | | | | | | | Change-Id: I4a9a46913b589b14c879620848d76b31e435ee02 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Flickable: drag-over-bounds is not velocity-sensitiveShawn Rutledge2015-07-092-16/+34
| | | | | | | | | | | | | | | | | | | | | | The inspiration for velocity sensitivity was to make it feel more like native trackpad flicking on OS X. But on touchscreens it doesn't make as much sense, and it became too difficult to intentionally overshoot in applications that depend on pull-to-refresh functionality. Task-number: QTBUG-46108 Change-Id: I3fea5324aaac1f003ead200e14b0c76bd8c0ece6 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | QtQml: Fix const correctness in old style castsThiago Macieira2015-07-0920-44/+45
| | | | | | | | | | | | | | Found with GCC's -Wcast-qual. Change-Id: Ia0aac2f09e9245339951ffff13c958364a2e9859 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix encoding of QV4::Value in host buildsSimon Hausmann2015-07-082-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | When building on a 64-bit host targeting a 32-bit architecture, we would use QT_POINTER_SIZE == 4 from qconfig.h, which is unfortunately shared. However on 64-bit hosts the 32-bit encoding appears to result in gcc/clang to miscompile simple QV4::Value uses - when optimizations are enabled. As a workaround, let's use 64-bit encoding in all host scenarios. Change-Id: I000cf13abcc9240c931191d6361b6dee578cb5d4 Task-number: QTBUG-45364 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | Fix more casts that dropped the constness.Thiago Macieira2015-07-071-2/+2
| | | | | | | | | | | | | | Found with GCC's -Wcast-qual Change-Id: I66a35ce5f88941f29aa6ffff13dde502fccefb1d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix ICC warning about change of signThiago Macieira2015-07-072-3/+3
| | | | | | | | | | | | | | qv4typedarray.cpp(87): error #68: integer conversion resulted in a change of sign Change-Id: Iee8cbc07c4434ce9b560ffff13cf917dd8f9012e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Delete QQuickWindow's animator driver at the right time.Gunnar Sletta2015-07-044-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | For the non-threaded renderloops, we there might be a timer firing before the animationController is cleaned up through deleteLater() which will then reference the deleted QQuickWindow. Rely instead on direct and explicit cleanup at the right time in each render loop. Change-Id: Id81daddae78ce3922d6a932fb21200f2dc7955bb Task-number: QTBUG-33723 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | QSGSimpleTextureNode: Fix ownership of QSGTextureTobias Koenig2015-07-032-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Make sure the QSGSimpleTextureNode deletes the old QSGTexture if a new one is set via setTexture() and the ownsTexture flag is true. [ChangeLog][QtQuick][SceneGraph] QSGSimpleTextureNode will now delete the currently set QSGTexture object, if a new QSGTexture is set and the ownsTexture flag is on. Change-Id: Iabfbccd390e16948d4575baf29e6c8b4a184a404 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Improve support for HTML entities in StyledTextKai Uwe Broulik2015-07-032-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for the non-breaking space character (&nbsp;) and properly handling entities that do not end with a semicolon, such as a stray ampersand in a text. Change-Id: I2f157c9aa651b27511809d5a47ac07660949a290 Task-number: QTBUG-44869 Task-number: QTBUG-31816 Task-number: QTBUG-33368 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Add lancelot test for Emoji text rendering / color glyphsTor Arne Vestbø2015-06-291-0/+45
| | | | | | | | | | | | | | | | | | | | | | We test both native text rendering and distance field text rendering (which should switch to native for the emoji glyphs automatically), in various configurations of text color, opacity, and background color. Change-Id: I06178820943cd2a52cf338f7eb5c0fca881cb625 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Bump versionOswald Buddenhagen2015-06-291-1/+1
| | | | | | | | Change-Id: If10035949b42f8481dc182af3d176e68d07d71a3
* | Merge remote-tracking branch 'origin/5.5.0' into 5.5Liang Qi2015-06-2620-105/+395
|\ \ | | | | | | | | | Change-Id: I4020a1b3c59dea18faf7cbcbb78b90fcfc3680f0
| * | Version scrollGestureEnabled as a new propertyv5.5.0-rc1v5.5.0Alan Alpert2015-06-150-0/+0
| | | | | | | | | | | | | | | | | | Change-Id: I3408cf93a90327e8abbe2f8b7a85d8a84e24ae58 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Version scrollGestureEnabled as a new propertyAlan Alpert2015-06-143-2/+4
| | | | | | | | | | | | | | | | | | Change-Id: I3408cf93a90327e8abbe2f8b7a85d8a84e24ae58 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>