aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.14' into 5.15.0Liang Qi2020-04-222-1/+158
|\ | | | | | | | | | | | | | | | | Conflicts: src/imports/labsmodels/qqmltablemodel.cpp tests/auto/qml/qqmltablemodel/tst_qqmltablemodel.cpp This follows edc8512580fa16892dc13034e93300cc6a2bba59. Change-Id: I42d1a977d33043045558118948db9151d03950c7
| * Merge remote-tracking branch 'origin/5.14.2' into 5.14Qt Forward Merge Bot2020-04-212-0/+157
| |\ | | | | | | | | | Change-Id: Icc410df82e57ed370ab0b80253074d495fc8c135
| | * Merge 5.14 into 5.14.2Kari Oikarinen2020-03-108-25/+54
| | |\ | | | | | | | | | | | | Change-Id: I294cb27a59754f7090f9bc1a500faf0423571549
| | * | TableModel: Allow a double to be added to a field seen as int previouslyAndy Shaw2020-02-282-0/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the type for a TableModelColumn can be seen as an int when it is in the first row, it is still possible that it is representing a double value in other rows. Therefore it should be allowed to add/change a row that would display a double for that column. Change-Id: I994a8ead595f836a20a4e82fbf94953b1aa4b7da Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | | QQuickRepeater: Fix interaction with PackageFabian Kosmale2020-04-222-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends 3b806a18cc665b5ae0e12d45fe170bfc3f00352a. Eric's change tried to tackle the issue by making the PartModel more well-behaved. However, this still left some issues, as exhibited by the linked bug. This time, we simply make the repeater more robust, and setup d->deletables if it's not done yet. Pick-to: 5.15 Fixes: QTBUG-71964 Change-Id: I58c80c84f73fddaea5d6030f92ffff219ecf2b71 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 28a31148ca02dbb530fd92dfafbcf71c64af4b70)
* | | | Merge remote-tracking branch 'origin/5.15' into 5.15.0Qt Forward Merge Bot2020-04-216-0/+106
|\ \ \ \ | | | | | | | | | | | | | | | Change-Id: Iba61fff386b0d76e8d3dbb63e5b86ed8ee79d151
| * | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-202-0/+57
| |\| | | | | | | | | | | | | | | | | | Change-Id: I5d7acb2a3883104d6002f147b58977ff58aa3383
| | * | | OpacityAnimator: apply opacity animation to the first frame in SGWang Chuan2020-04-072-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using OpacityAnimator, an opacity node will be created and inserted into nodes tree to perform opacity animation. However, since the default value of opacity node is 1, the opacity animation will start from 1 even if we set it from 0 to 1. Fixes this issue by updating the value of opacity just after creating a new opacity node. Fixes: QTBUG-79199 Change-Id: I2e462f0c56892fda040836ffde6685145769e60c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | | | Blacklist tst_qquicktextedit::hAlignVisual on SLESFabian Kosmale2020-04-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-76719 Change-Id: I0979134b8a8fe8f8460a13ef1338991126537413 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io> (cherry picked from commit 395075816e77969b28ded88d027a398194d3e756) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| * | | | qmltyperegistrar: Correctly handle foreign and super classesUlf Hermann2020-04-163-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if there were multiple super classes, revisions were only collected for the first one. Also, properties and enums declared in the type itself were ignored when QML.Foreign was specified. Finally, we would previously re-set resolvedClass and re-sort the revisions on each super and attached type. Change-Id: Iccb939cae66a5c4e2e5c312359e389463df80b4e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | | | V4: Avoid integer overflow in DataViewCtorFabian Kosmale2020-04-211-0/+16
|/ / / / | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-83667 Change-Id: Ia54510bd7c20fb232b117c1ea0fa5facfcd1a9a5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | qmltyperegistrar: Retain alias and isFlag information for enumsUlf Hermann2020-04-092-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id484c7bb1a3ed3b2bf593f6197664e4ee2ad4006 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | QQuickTableView: fix crash in tableLayoutToString()Richard Moe Gustavsen2020-04-071-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function QQuickTableViewPrivate::tableLayoutToString() returns a string used for debugging the loaded table. If the table is empty, it will crash/assert while trying to read data out of an empty vector. This patch will check for this case before creating the string. Change-Id: I47c01b3c8447ccc7424fe475f38e22ff70c681d8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Frederik Gladhorn2020-04-022-0/+74
|\ \ \ \
| * | | | Merge remote-tracking branch 'origin/5.14' into 5.15Frederik Gladhorn2020-04-012-0/+74
| |\| | | | | | | | | | | | | | | | | | Change-Id: I2193fb62d998f130c33adda340b0da45f7b418fb
| | * | | Fix QQuickMouseArea getting stuck in pressed state when hiding in pressFrederik Gladhorn2020-03-312-0/+74
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 78c1fcbc49f56463064eef738a475d9018357b24 we stopped giving the exclusive grab to hidden or disabled items with is good. But the change did not take into consideration how mouse area handles its internal state. As a simple example: A mouse area that would set itself hiddin in the press handler, would continue to have d->pressed == true, which means it would not react to any future press events. The fix is to let mouse area check in its change handler whether it has become invisible. The test also checks that enabled behaves the same way. There is no action needed, since mouse area does completely custom handling of enabled (maybe something to fix in Qt 6), disabling a mouse area doesn't disable its children for example, it doesn't invoke QQuickItem::setEnabled at all. Due to this circumventing the common behavior, by chance disabling a mouse area in the on pressed handler works. Fixes: QTBUG-74987 Change-Id: Idb8499b3e5bcb744fbba203fdea5c46695bd5077 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | / | Do not match for line numbers in the source code in ignoreWarning()Jan Arve Sæther2020-04-021-3/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | It makes it very volatile to source code changes.. Use the RegExp variant of ignoreWarning() instead. Change-Id: I9a9a26e844d5e7e30289d3843c89a9e6724f9f71 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Fix signal emission order for zero-duration animationsJan Arve Saether2020-03-313-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The order for non-zero-duration animations are: * started() * runningChanged(true) * stopped() * runningChanged(false) * finished() This patch tries to ensure that zero-duration animations have the same signal emission order. The problem was that when setRunning(true) was called on zero-duration animation, it would call itself (setRunning(false)) lower in the call stack in order to immediately stop again. This had the implication that we could emit stopped() even before started() was emitted (since the recursive call to setRunning(false) would actually complete before the ancestor stack frame setRunning(true) was completed) To fix this we emit started() *before* we call start() on the animationInstance. There is still a bug in that runningChanged(true) is still not emitted for a zero-duration animation, but this patch should improve the current behavior in the sense that stopped() is not emitted _before_ started(). Task-number: QTBUG-48193 Change-Id: Ic2bc85e648e6746f6a058e2e9136515e7fdb6192 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | qmltyperegistrar: Record header file names in qmltypes filesUlf Hermann2020-03-302-0/+8
| | | | | | | | | | | | | | | | | | | | | We will need them to find the types in C++ code. Change-Id: Id00c6d855adbb767a0be8a9469fbe47447ccec8b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | qmltyperegistrar: Accept more file extensions as headersUlf Hermann2020-03-305-3/+152
| | | | | | | | | | | | | | | | | | | | | | | | Also, even if the file does not appear to be a header, still try to include it. People use strange file names. Change-Id: I2db7bd6aa14007a8b458c3860ba0553bb3b384b7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-286-23/+29
|\| | | | | | | | | | | Change-Id: If7b3f7902eb18d586d8b721e77f4dfedc87cfb9a
| * | Make tst_qquickcanvasitem significant again; fix image size roundingShawn Rutledge2020-03-055-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - the test items must be visible, so that waitForRendering() works - arcTo::test_paint tried to render an out-of-bounds arc, which resulted in rendering nothing. Now renders within the 100x100 canvas. - painted() is not emitted the first time the Canvas is rendered. - Canvas.save() saves relative to the directory from which the test is run, while Canvas.loadImage() loads relative to the test data directory in this autotest (other tests are loading red.png for example). So we need to use absolute paths to test loading and saving in the directory where the executable is. - canvas.getContext('2d').getImageData(8.5, 8.5, 8.5, 8.5) now triggers different rounding behavior in QRectF::toRect(), after qtbase 88e56d0932a3615231adf40d5ae033e742d72c33: it becomes QRect(9,9 8x8). The assert in qt_create_image_data() needs to accommodate that. - Fixed another pedantic warning in qt_create_image_data a few lines above: if it creates the image itself, it needs to round the qreal width and height values. This reverts commit a23ee5c0de0d91859e1e76e64073861347dd9861 and amends 424cfef3cc3c140df51905713fa3849562bc494d and d142b2d212ea09a7919a0a2761ee9c04d5c9bda8. Task-number: QTBUG-41043 Change-Id: I825c2c5a2bbc8d5324c3ba41a681aa68bc25a159 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | Blacklist a few more canvas testsShawn Rutledge2020-03-051-2/+8
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-41043 Change-Id: I3a48439d30d9ec1cd908197c8d63984c95d336e3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | tst_qqmllanguage: Avoid use after freeUlf Hermann2020-03-261-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently we're poking into the unit data during the last evaluate(). We need to keep it alive until then. Change-Id: I3a08766503a3508720b3ac154171e6fc8bd280d1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | qmltyperegistrar: Accept extra foreign types filesUlf Hermann2020-03-268-0/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you add your own libraries with metatypes, qmake cannot determine where to look for their metatypes.json files. Add a qmake variable that allows the user to specify them. Fixes: QTBUG-82709 Change-Id: I3f5685146c134c89e541e4097ff3928de9af2aee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | qmlformat: Fix inconsistent if statementsMaximilian Goldstein2020-03-253-2/+136
| | | | | | | | | | | | | | | | | | | | | | | | Should now produce more consistent output for if statements. Fixes: QTBUG-82261 Change-Id: I39da0c80c4aadc2c5bdef32953c34ed9f0708a9e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | qmlformat: Improve comment attachmentMaximilian Goldstein2020-03-253-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixes UiPublicMember nodes having a newline between comment and first node - Implements a Front_Inline type so comments at the beginning of object definitions are handled properly Fixes: QTBUG-82259 Change-Id: I0b40290037ce88a9ffe16390d72cbf3d704db41a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | qmlformat: Add option for alternative line endingsMaximilian Goldstein2020-03-251-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | Allows user to decide between native (default), macos (\r), unix (\n) or windows (\r\n) line endings. Fixes: QTBUG-82258 Change-Id: Ie1eb365085815cbbebbf0d026c6f72f0ef2acb9d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | Check that QJSValue to set conversion worksFabian Kosmale2020-03-242-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, fix the check to actually test the correct capabilities by using the containerCapabilities function; testing _iteratorCapabilities only worked by chance so far. Task-number: QTBUG-82743 Change-Id: I64f20c6bf1e47737c7b927f79e1e78c1a1603741 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | tst_qqmllanguage: Don't leak malloc()'d unit dataUlf Hermann2020-03-241-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | When intrusively playing with compilation units, we need to play by the rules and actually free them when we are done. Task-number: QTBUG-82768 Change-Id: I75ac0d01d48922a6a214df0c9d2345e27fb39bff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Resize offscreen window when QQuickWidget is resizedMitch Curtis2020-03-242-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a typical Qt Quick application, when a window is resized, the contentItem of that window is resized with it, and then the root item. QQuickOverlay in qtquickcontrols2 listens to size changes in the contentItem (QQuickRootItem) via addItemChangeListener(), as a cheap way (e.g. no signals) of knowing when to resize background dimming effects. It resizes the dimmer item to the size of the window. The first problem with QQuickWidget is that it only ever resizes the root item when using the SizeRootObjectToView resize mode, and not the contentItem. The second problem is that the root item is resized (via updateSize()) before the window itself even has a size (which happens in QQuickWidget::createFramebufferObject() via the call to d->offscreenWindow->setGeometry()). To demonstrate the second problem in detail, consider the following widget hierarchy (written in everybody's favorite language: QML): QMainWindow { QQuickWidget { QQuickWindow { // QQuickWidgetPrivate::offscreenWindow QQuickRootItem { // QQuickWindowPrivate::contentItem Page {} // QQuickWidgetPrivate::root } } } } The QMainWindow starts off as 200x200. When the window is resized, QQuickWidget::resizeEvent() is called. The first thing it does is call updateSize(), which in the case of SizeRootObjectToView, resizes the root item to 300x300. This causes QQuickOverlayPrivate::itemGeometryChanged() to be called, and the dimmers are resized to the size of the window, but the window still has its 200x200 size, as it is only updated later, when QQuickWidget::createFramebufferObject() is called. This patch fixes these issues by ensuring that contentItem and the window itself are resized along with the root item. As to why such manual intervention is necessary: from what I can see, it is because it's an "offscreen" window. This means that QWindowPrivate::platformWindow is null, and setGeometry() takes a different path that presumably results in no QResizeEvent being sent to the QQuickWindow. As QQuickWindow relies on resizeEvent() being called to resize its contentItem, the contentItem is never resized. With a typical Qt Quick application, all of this works as expected. Change-Id: I7401aa7a9b209096183416ab53014f67cceccbe4 Fixes: QTBUG-78323 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Add autotest for QQuickRenderControlLaszlo Agocs2020-03-234-1/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's celebrate the feature's 6 year anniversary with introducing an autotest for it. Also happens to be good sample code for generating image sequences from animated Quick scenes driven by a custom animation driver. Tied to (direct) OpenGL at the moment. The RHIified version will appear eventually as the work for introducing RHI support in QQuickRenderControl progresses. Task-number: QTBUG-78595 Change-Id: I7294ce986dca9968407ae738afe7ed2640ecd103 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | QQuickViewTestUtil: Don't leak on matchAgainst()Ulf Hermann2020-03-231-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | QTest::toString() returns a bare pointer to a heap-allocated character array. We need to delete it. Change-Id: I5a5cf1054e582af21e784595c00646d5b4fc0b7f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | tst_qquicklistview: Fix a few memory leaksUlf Hermann2020-03-231-123/+75
| | | | | | | | | | | | | | | Change-Id: I8bcd06ce79e1d6795a8249df6f72d4b583dbfa28 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | tst_qquicklistview: Don't use QTest::toString()Ulf Hermann2020-03-201-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This construction leaks the resulting character array. You need to actually delete[] it. However, we can be pretty sure that there are no questionable characters in those strings. Therefore we can just use qPrintable instead. Change-Id: Ib863f0ed7db800680a44df534e3b46a4ba807798 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | qmllint: Break inheritance cyclesUlf Hermann2020-03-194-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would run into infinite loops on those. Mind that qmllint will reject a file called Window.qml that imports QtQuick.Window and then instantiates a Window {}. Such a thing is bad style. Task-number: QTBUG-82817 Change-Id: I6db82ca1794c3020dcb7d7e837fe44f72bca5029 Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | Fix copy-pasted typo minimimal -> minimalAllan Sandfeld Jensen2020-03-1813-39/+39
| | | | | | | | | | | | | | | Change-Id: I4afef3fdbb9e3c3ec20ba5d00307992131b9ba3e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | qmllint: Check for unknown types in JavaScript accessUlf Hermann2020-03-173-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are many incomplete qmltypes files around. We should not just crash on those. Task-number: QTBUG-82817 Change-Id: Ie072b80473927570c80fb2f9ae329de711c35904 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | qmllint: Don't crash on IDs that aren't scopesUlf Hermann2020-03-172-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, those can be qualifiers for imports, in which case we have to combine them with the next segment in order to find the type. Task-number: QTBUG-82817 Change-Id: I217a79572cd1e160dcbbcb9541c53941c81ab76c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | qmllint: Use fully qualified QML type names as superClassUlf Hermann2020-03-163-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise we miss subtleties such as Label vs. T.Label. Task-number: QTBUG-82817 Change-Id: Idc2131426b2fd96f279dab83292a348b9295d5c0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | qmllint: Add QFont to the list of unknown builtinsUlf Hermann2020-03-162-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | And also check them when analyzing JavaScript access. Task-number: QTBUG-82817 Change-Id: I677e7883fb24ab80ff20d1998e2d7df440ef4112 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | Inline components: Abort if two IC's with same name existFabian Kosmale2020-03-162-0/+20
| | | | | | | | | | | | | | | Change-Id: Ic52fa388711a76d729ae28678932f4a150da9583 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Prefer Inline Components over any other imported nameFabian Kosmale2020-03-162-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After processing all other imports, there might be other imports both in front and behind of the inline component imports in the import list. To avoid having to search for them, we sort the list so that they are in front. Fixes: QTBUG-82302 Change-Id: I9f6deb03608b1ebd0cbe0eddd1a1e5d39837a783 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-033-3/+27
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qmlmodels/qqmltableinstancemodel.cpp src/qmlmodels/qqmltableinstancemodel_p.h Change-Id: I89339b1cb41ba27fe30c79530859a1c2bfbecc69
| * | QQuickItem: prevent endless loop in focus tab chainWang Chuan2020-03-032-2/+25
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Since the commit a18ab2a3822e0d, we promote the [startItem] in focus tab chain when it is invisible to prevent endless loop. However the problem still happen if the [startItem] is equal to [firstFromItem] Fixes it by compare the [current] item with the original start item Fixes: QTBUG-81510 Change-Id: Iae0207f39e2b8c4fc6ed0cf36f0a855668accfba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Escape url.toString() before passing it to QRegularExpressionDmitry Shachnev2020-02-201-1/+2
| | | | | | | | | | | | | | Otherwise the test fails when path contains special characters like ‘+’. Change-Id: I461d9755436148ce979284be31ef8d204235c8a4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-03-021-1/+1
| | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step cloaser to that goal. Change-Id: I3214ad6ccaca9dfd4a026589cabeb40cbf4a6298 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Restore offset/length in QQmlJS::DiagnosticMessageSimon Hausmann2020-03-023-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | This is needed in a few places outside of declarative, so this change restores the loc member in DiagnosticMessage and moves QQmlJS::AST::SourceLocation into common's QQmlJS namespace/directory. QQmlError is unaffected and retains only line/column. Amends d4d197d06279f9257647628f7e1ccc9ec763a6bb Change-Id: Ifb9d344228e3c6e9e26fc4fe112686f9336ea2b2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Robustify QQuickListView testUlf Hermann2020-02-271-0/+1
| | | | | | | | | | | | | | We should check for the window's root item before accessing it. Change-Id: I196d9cb4d0e525ffb62b3fd347fd986033cab3dd Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Revision properties and methods added in 5.15Ulf Hermann2020-02-271-0/+1
| | | | | | | | | | Change-Id: I00e3f9535e819d9d0d547c9d3cf50be469cf9339 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>