aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Adjust positioners example for toolingThomas Hartmann2016-11-152-56/+56
| | | | | | | | | | * Fully qualify all property bindings * Not using flow as id, because it collides with the property flow These changes are required so the example works nicely in the designer. Change-Id: I05972a5a7ebe7277ae7f4230bb68a8b8b011b2f3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Fix flow text objects in beginning of RTL blockEskil Abrahamsen Blomfeldt2016-11-144-2/+45
| | | | | | | | | | | | | If the block is right-to-left and starts with a text object, it should be aligned to the right edge of the QTextLine instead of the left one. [ChangeLog][QtQuick][Text] Fixed placement of flowing text objects in the start of a right-to-left block. Task-number: QTBUG-43133 Change-Id: Id790e88f3464280f124c38b4260386b84cac8826 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Work around -Wtautological-compare warnings on clang 3.6Lars Knoll2016-11-111-1/+8
| | | | | | | Same workaround as for gcc 6.0 Change-Id: I6137b226c05ddc287bea7230d1f546c5fcf8371f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Quick: Do not calculate the difference in a geometryChangeErik Verbruggen2016-11-1010-38/+34
| | | | | | | | | | | This difference is only used by the ListView, so calculating it and storing it (on the stack) introduces a penalty for all items. As the new geometry is already applied, the old geometry is passed along. This has the added advantage that the ListView does not have to re-calculate that either. This fixes a performance regression. Change-Id: Id5e67bb663a5b11a55ec15ff24ca5b213d1fcef5 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Change implementation of shadow nodes to use a double-linked listGunnar Sletta2016-11-102-46/+81
| | | | | | | | | | | | | | | | | | Since eea8fa64ab27854b71f46ef143e35b6c9acbba14, we're seeing increased times in QSGNode::removeChildNode(). The reason for this seems to be that iteration through the linked list is significantly slower than iteration through a QList<> due to that each node needs to be loaded in memory to iterate to the next, compared a more plain sequential pointer compare with QList<>. This implementation changes the nodes to use a circular double-linked list so we can drop the iteration when removing nodes. This brings us slightly better performance than the original QList based implementation while still using the same amount of memory as the single-linked list one. Change-Id: I0b693730f5b82ad7767e507accafd90551e03fbc Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* qmlimportscanner: When passed an invalid file/directory it should cause an errorAndy Shaw2016-11-101-1/+6
| | | | | | | | Task-number: QTBUG-56617 Change-Id: I82eb9c07fd6350b2a63f80e62af4c0adf52656c7 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Update Window plugins.qmltypesMarco Benelli2016-11-091-2/+6
| | | | | | | | | | | | Some signals (ie onClosing) as marked as error by QtCreator because they are registered with version 1 or 2, while QQuick is exported only as version 0. Exporting version 1 or 2 of QQuickWindow seems to cause some conflicts with QQuickWindowImpl. So the plugins.qmltypes has been manually updated. Task-number: QTBUG-47917 Change-Id: I2ddacfbf0564d8ecfbaadc0323011dbd18439c36 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* V4: Replace memset by a for loopErik Verbruggen2016-11-091-1/+2
| | | | | | | | | | | GCC would often generate a call to a special "safe" version of memset, which would in turn prevent inlining in many cases. A simple for loop does not prevent inlining, and compilers can still decide to replace it with a memset. It also makes it easier for the compiler to do dead store elimination. Change-Id: I60fa3e321c2edb9225699bf57e8a31a3f8356ddc Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Set Qt version on toolsFriedemann Kleint2016-11-098-0/+8
| | | | | Change-Id: I21d77b2eba7107528fc00db0cf5d87f8347b63be Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Quick: Hint that a reparent action will most probably work fineErik Verbruggen2016-11-091-1/+1
| | | | | | | | | When assigning an item a new parent item, a check is done if it is already part of the children tree below that parent. This is an unlikely case, so hint the compiler that it can optimize the loop that way. Change-Id: Ic9f1810aa4b83d84be88f0049e61d21c4add7767 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qv4object_p.h: Replace QtPrivate::is_same by std::is_sameFriedemann Kleint2016-11-091-3/+1
| | | | | | Task-number: QTBUG-57007 Change-Id: I05cabe53e7993cd63498334e95917fe6c3077ab6 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Quick: Only take a copy of changeListeners when there are someErik Verbruggen2016-11-081-64/+88
| | | | | | | | | | In the case where there are no change listeners, there is no need to do an ref() operation (which involves atomic loads) only to find out that it's an empty vector (!isSharable). Better still: the whole loop start-up can be skipped. Change-Id: I94fd22029a321a5dbef571145007071a54f5b04b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Quick: Move counters out of a bitfield in QQuickitemErik Verbruggen2016-11-082-71/+75
| | | | | | | | | | | | Storing the anchor-loop-detection counters in a bitfield has the disadvantage that the full field has to be read and masked in order to use (increment) them. The same for the subsequent store. By putting them in their own byte, this can be done a lot faster. Those bytes were available, because they were needed for padding. By making them signed, there is also no need for the compiler to insert overflow handling. Change-Id: I3c250983c74de2ecfd33fe72ea8df04e24b8cd0c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Quick: allow NaN check to be inlinedErik Verbruggen2016-11-021-2/+2
| | | | | Change-Id: Ia4a935e1da82106954b661264e7a630befd80cc6 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Imports: Build settings depending on feature settingsFriedemann Kleint2016-11-012-4/+2
| | | | | | | | Fix warning: qtdeclarative/src/imports/settings/settings.pro:1: Cannot find feature qfeatures Change-Id: I215801bbadd1a07deef69bb38b0ac31b8da4d64e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build with QT_NO_LIBRARYSamuli Piippo2016-10-281-1/+1
| | | | | | | Move #ifdef to correct place in relation to the #endif Change-Id: Id3363ad2ebbe246bc1e93e345432ef52908cf1ee Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8v5.8.0-beta1Liang Qi2016-10-2714-48/+139
|\ | | | | | | | | | | | | Conflicts: tests/auto/quick/qquicktextedit/BLACKLIST Change-Id: I0b9e5bea5da5d2666887c202e62d889b4aa56900
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-2717-46/+82
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickwindow.cpp tests/auto/quick/qquicktext/BLACKLIST tests/auto/quick/qquicktextedit/BLACKLIST Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
| | * Fix documentation for dragFinished signalAndy Shaw2016-10-261-1/+1
| | | | | | | | | | | | | | | Change-Id: I9a38ab8ff60921e6d5ff6c2fa476b24d28781feb Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Add a test for bitmap font rendering in Qt QuickEskil Abrahamsen Blomfeldt2016-10-251-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "fixedsys" font is available on Windows at least, so while this test may not add any value on other platforms, it won't hurt either, and this was something that regressed on Windows before. Task-number: QTBUG-56659 Change-Id: Id01dedcbdc2fe74027caf31dd0dde6729ade8c63 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Fix QML Compiler crashSimon Hausmann2016-10-251-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit 2afb54fb51091765f79548b0b057795bc3c6eb38, Primitive::undefinedValue() uses setM() to clear out all bits. Previously that code was #ifndef'ed out for the bootstrap build, but now that we can do the correct boxing in host builds (as we know the pointer size), we can re-enable setM() in bootstrap builds and fix this crash that was a Q_UNREACHABLE() assertion. Change-Id: I49036792c06c9a17272aba65261ab8f32beb2ad8 Task-number: QTBUG-56658 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Make tst_qquicktextedit::mouseSelection() passJ-P Nurmi2016-10-242-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since qtbase commit beef975, QTestLib avoids generating accidental double click events by adding 500ms timestamp delta on release events. The test requires a press-and-drag-and-release type of sequence with double and triple clicks. The triple-click case is handled fine with QTest::mouseDClick() + press + move + release, but the double-click case is using QTest::mouseClick() + press + move + release and relies on the accidental double-click event generation that QTestLib now deliberately prevents. I can't think of a nice way to inject the move event in the middle of a double-click sequence generated by QTest::mouseDClick(), so we just send the missing double-click event by hand. We can also remove the QStyleHints::mouseDoubleClickInterval waits, which were there to prevent the aforementioned accidental double click events that can no longer happen. This reduces the total execution time of mouseSelection() by roughly 90%. Task-number: QTBUG-50022 Change-Id: I252e87d6a49ea86a44cfa347a29eebee12fd36d1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * tst_qquicktextedit: remove mouseDoubleClickInterval waitJ-P Nurmi2016-10-231-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since qtbase commit beef975, QTestLib avoids generating accidental double click events by adding 500ms timestamp delta on release events. Thus, now we can remove the QStyleHints::mouseDoubleClickInterval wait, which were there to prevent the aforementioned accidental double click events that can no longer happen. The default inverval is 400ms, so this saves us nearly half a second on most platforms. Change-Id: I7a670b70c012ac027dc951ebafdf5e7d53b89ce9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * tst_qquicktext: remove bogus blacklistingJ-P Nurmi2016-10-231-2/+0
| | | | | | | | | | | | | | | | | | | | | There's no such test as mouseSelection in tst_qquicktext. Change-Id: I09bf4c61b53acd9811e020379a29c80fce9fe48b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * Fix TextInput::selectByMouse documentationMitch Curtis2016-10-191-2/+2
| | | | | | | | | | | | | | | Change-Id: I41ef6b38e74162434c397535f9d73fff80e29c78 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| | * QQuickWindow: don't discard timestamps for wheel eventsJ-P Nurmi2016-10-152-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed while debugging QTBUG-56075 on XCB. QQuickFlickable did not receive timestamps for wheel events provided by XI2. This alone does not fix the flicking speed issue with high-precision trackpads, but is needed to be able to calculate the appropriate velocity. Task-number: QTBUG-56075 Change-Id: I458e6302aee72863cdc1f8e8f7d99449016905a9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Fix docs about ownership when QObject has a parentSérgio Martins2016-10-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | If you return a QObject with parent from a Q_INVOKABLE it *does* get QQmlEngine::JavaScriptOwnership. It just doesn't get deleted by JavaScript (until you unset it's parent). Change-Id: Id56debe06253ea1dd31dee844f5047d4ac055024 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Remove superfluous warning statement in QAccessibleQuickItem::rect()Alexandru Croitor2016-10-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The warning statement is printed whenever a successful hit test (essentialy a hover) happens on a QML item which is accessible (e.g. a Label) and also not visible. The message looks like "QQuickText QVariant(Invalid) QRect(0,0 0x0)". The information serves no real purpose though: 1) The property accessibleText is not set anywhere 2) The warning happens in a valid use case when an item is invisible, and the user mouse accidentally hovers over its position Change-Id: I8d20f7842d92c7944bb5e3b614ecd6fad500102a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| | * Check qgl_current_fbo_invalid before using qgl_current_fboAlexandru Croitor2016-10-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSG24BitTextMaskShader::useSRGB() on macOS accesses the current context qgl_current_fbo member without first checking if it is valid. Make sure it also checks qgl_current_fbo_invalid, thus not accidentally dereferencing a dangling pointer. Change-Id: I56a77de23ee3b4b271bd848506ff26e14d7b6d15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | QQuickShortcut: allow setting a custom context matcherJ-P Nurmi2016-10-262-20/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows Qt Quick Controls 2 to register a shortcut context matcher that makes shortcuts behave well with QQC2's item-based popups, which QQuickShortcut is not aware of. Task-number: QTBUG-56562 Change-Id: Ia2518fd6ac7140f60aa38c7d9af557007e9db23b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | | Doc: better example explaining use of tx.executeSql with parametersNico Vertriest2016-10-261-7/+24
| | | | | | | | | | | | | | | Change-Id: I79ab2cc4c0525dbc285b04b3867220f6943dc9e6 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | | Change Import::type from quint8 to LEUInt32James McDonnell2016-10-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import::type used to be a quint32. The switch from quint32 to quint8 changed the alignment of other structures in the compiled blob. On QNX, the alignment isn't appropriate for some of the instructions that the compiler uses to access/modify the structures and a BUS error occurs. Changing Import::type to LEUInt32 puts the alignment back the way it was before. Simpler than trying to figure out how to get everything aligned correctly with a quint8 at the front of the structure. Task-number: QTBUG-56341 Change-Id: Ia6f4daff5f615f9c5dbcc34ce8c3c9a89bab2b69 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | QML: Hint LTO to never inline QQmlPropertyCache::resolveErik Verbruggen2016-10-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | ... so the fast-path doesn't get bogged down by accidental slow-path inlining. Change-Id: Ifb3eadf5e96b5a61f41fb1f0d32269e43f13be57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Fix crash when loop peeling and basic block mergingSimon Hausmann2016-10-252-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to merge the second (original) loop header block of a peeled loop, we would end up with dangling references to that block from the loop body blocks. There's no trivial way to find all these quickly from the header, so for now don't merge these blocks into the predecessor. Change-Id: I2b5e39c5596ffd8c21ca9871af3a8150a019f2a8 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | | d3d12 plugin depends on quickSamuli Piippo2016-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | d3d12 config is not available if quick module has not been built. Fix Project ERROR: Could not find feature d3d12. Change-Id: If6707a6e4ef9d9996f30746b0f3372a4b5bfbb04 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Cast enums to int before streaming into QDataStreamThiago Macieira2016-10-233-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are decoded as ints, as in QPacket &operator>>(QPacket &ds, QmlObjectProperty &data) { int type; ds >> type >> data.name >> data.value >> data.valueTypeName >> data.binding >> data.hasNotifySignal; data.type = (QmlObjectProperty::Type)type; return ds; } So we should serialize the same, since the required operator<< and >> don't exist. Change-Id: I33dc971f005a4848bb8ffffd1478edcf2e916dfc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Add the ability to explicitly enable the code cache in qmljsSimon Hausmann2016-10-233-9/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also requires mapping the label pointers in the byte code back to the instruction enum. Fortunately this reverse mapping is only needed in the qmljs case. Normally in the QML engine we persist the byte-code to disk before linking the compilation unit to the engine (where we map the enum to goto labels). Change-Id: If0b79288274bb1031161841b63a85f164502aaec Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Fix crash with v4 lookups on changing objectsSimon Hausmann2016-10-222-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When lookups are enabled for property access and the property exists, we change the type of the lookup from the generic fallback to a more specialized direct property access. When upon subsequent access the internal class has changed, we fall back to the case of two alternating classes/shapes. If during that fallback we fail to find the property altogether, then we should revert back to the overall fallback, instead of continuing with an invalid property data index. Ran into this while running the typescript compiler in V4 itself. Change-Id: If5975d6c18ff41b9fb21c40f0cbaeed37da4b489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Windows: Fix distance field rendering with fonts with broken cmapEskil Abrahamsen Blomfeldt2016-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the CMAP table of a font is not present on Windows, then the font will not be counted as a ttf file, likewise if the CMAP table has a bug in it. An effect of this is that the glyphCount() will be returned as 0 since we will bail out before fetching the maxp table, and the distance field renderer assumes the glyph count is valid. While the font in question is obviously broken and may have other issues, it is possible to still support using it for rendering text by bypassing the check when we cannot get a reliable glyph count from the font. [ChangeLog][Windows][Text] Worked around an issue with fonts that have corrupt cmap tables. Task-number: QTBUG-45321 Change-Id: I9cfd7809661ae6b902f6b9d47ffb18bfbc06bcd4 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Fix bootstrap and qtquick compiler buildSimon Hausmann2016-10-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | We need to always include the checksum generating code, even if dummy (for the lack of the md5 code being in the bootstrap library). Change-Id: I3dd9c585a23ffea9bd7c79dbe6dae29b9f93fa6d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Add "We mean it" comment to qquickdesignercustomparserobject_p.hFriedemann Kleint2016-10-211-0/+11
| | | | | | | | | | | | | | | | | | | | | Amends 54765de17916948ef56a3fd1111e8c765c07155a Change-Id: I30b9e31326d20f176a01ff625fbe8597b43cbc62 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | | QML: Create a fast-path for QV4::WeakValue::setErik Verbruggen2016-10-212-24/+27
| | | | | | | | | | | | | | | | | | | | | And hint the compiler (with LTO) to never inline the slow path. Change-Id: Idad15498bca457d3f1f063031ad1a08415e9b3db Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-10-2014-55/+56190
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickitemsmodule.cpp tests/auto/quick/rendernode/tst_rendernode.cpp Change-Id: I90582df69feb95a4e4aafb0b9793c23714654f19
| * | Fix tst_rendernode::renderOrder() on high DPI displaysMitch Curtis2016-10-171-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | When QT_SCALE_FACTOR is 2, fb.width() is 400 instead of 200, for example. Change-Id: Iec02d7cfd49d29fceda6645377b75e4607cceb6f Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * | Fix gcc6 buildAllan Sandfeld Jensen2016-10-161-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Complete the patch for tautological-compare warnings after it was merged form 5.6. Task-number: QTBUG-56266 Change-Id: I39f25f429b90deb8d8830fb15f45ce29a5a4c51c Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| * | Row/Column/GridLayout: add missing margins properties to documentationMitch Curtis2016-10-142-27/+21
| | | | | | | | | | | | | | | | | | | | | | | | 52e1044a1a22525b960d9e1d336ac06c4f39e6d5 in qtquickcontrols missed this. Change-Id: Ie104c421e34d4d2a13a88864a279eb65738bd5a8 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * | QQuickItem: eliminate repeated access to QQmlV4Function::v4engine()J-P Nurmi2016-10-131-10/+10
| | | | | | | | | | | | | | | Change-Id: Ifc33c17d125ca794a157a87dc5cc1be51c2aaefb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Item: sort out mapFromGlobal() and mapToGlobal()J-P Nurmi2016-10-135-2/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit message of 08327da, and the change log of Qt 5.7.0 promised that mapFromGlobal() and mapToGlobal() were available in QML. But since the revision 7 of QQuickItem was not registered, this was not entirely true. Due to a little quirk in the QML engine's handling of revisioned methods, mapFromGlobal() and mapToGlobal() were only accessible via an identifier or property, but not directly: // works MouseArea { id: ma; onClicked: console.log(ma.mapToGlobal(Qt.point(mouse.x, mouse.y))) } // ReferenceError: mapToGlobal is not defined MouseArea { onClicked: console.log(mapToGlobal(Qt.point(mouse.x, mouse.y))) } Furhermore, this is inconsistent with how mapFromItem() and mapToItem() are exposed to QML. Even though the C++ versions of these methods take QPointF and QRectF, the QML versions take 2-4 number specifying x, y, width and height: object mapFromItem(Item item, real x, real y) object mapFromItem(Item item, real x, real y, real width, real height) object mapToItem(Item item, real x, real y) object mapToItem(Item item, real x, real y, real width, real height) Therefore the signature of mapFromGlobal() and mapToGlobal() should be: object mapFromGlobal(real x, real y) object mapToGlobal(real x, real y) This change implements the QML versions of these methods using QQmlV4Function, and adds the missing documentation for the QML API. NOTE: This is QML-only API. Change-Id: I2ced4836d274c7d1e644ea29fc25dbdd2045001b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-1216-40/+96
| |\ \ | | | | | | | | | | | | Change-Id: Ib31008e593442ca5813fb14ae6b02f7ab2577395
| * | | Make tst_qqmlapplicationengine pass when JIT is not availableDmitry Shachnev2016-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the platform does not have JIT, a warning about this is printed into the process stderr, so the test fails. Change-Id: I67c605bd09659c444d0a05f476314e9c7fc2ce6d Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>