aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix a layout bug caused by a delegate item that was moved by the user5.13Jan Arve Sæther2019-11-123-1/+12
| | | | | | | | | | | | | The position of the first item in the list of visualItems was used to know how to layout the rest of the visual items. However, this did not work if the first item was actually moved (e.g. due to a DnD operation). We therefore store the position of the first visual item after each time we arrange it, and use that as a basis on where to start layouting from. Task-number: QTBUG-78076 Change-Id: I837f5b7d61a13d98d23287685c6fd66817360906 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Doc: add section on imperative vs declarative to best practices pageMitch Curtis2019-11-111-0/+37
| | | | | | Change-Id: I6ea16474e5e59f76f7b2c5806e381a1a4b05db20 Fixes: QTBUG-79903 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQuickAccessibleAttached: keep track of name being explicitly setMitch Curtis2019-11-063-2/+50
| | | | | | | | | This allows types to attach an accessible name to an item, so long as the user hasn't done so themselves. Task-number: QTBUG-66583 Change-Id: I04f26815ffeaf1198fee25dc414253de8b8dfabe Reviewed-by: Liang Qi <liang.qi@qt.io>
* QQmlVMEMetaObject: Scope MemberData for allocating writeUlf Hermann2019-11-052-52/+21
| | | | | | | | | | If we need to allocate in order to write a property of the object, we need to make sure that the member data is not garbage collected during that allocation. Change-Id: I885cdc547588c1b20450e1586765cd0266b4c4f0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QQuickItem::setParentItem: Check for d->window after deref'ing itUlf Hermann2019-10-311-1/+2
| | | | | | | | The window may have been deleted. In that case there is nothing to do. Amends commit 73ad6e87bbeceea5830ab3a6b3dc66fa99e30f45. Change-Id: Ib591f34b51f58d49ed0b065be7025f8e54777c10 Reviewed-by: Liang Qi <liang.qi@qt.io>
* QQmlProperty: handle reads of QQmlPropertyMap correctlyFabian Kosmale2019-10-302-3/+30
| | | | | | Fixes: QTBUG-79614 Change-Id: Iaf84c0178dc88072a367da2b42b09554b85c7d57 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QML Drag: Prevent crash when using image provider urlFabian Kosmale2019-10-302-1/+26
| | | | | | | | | | For attached property objects, qmlEngine will not return an engine. However, QQuickDragAttached's parent is the object to which it is attached, and from that one we can get the engine. Fixes: QTBUG-72045 Change-Id: I40748dd11ea3eb4604c37e932b2cfd3baad6fd1f Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.13.2' into 5.13Qt Forward Merge Bot2019-10-295-2/+79
|\ | | | | | | Change-Id: I2b55bea338aa854d940a6da9b6703866209e6ba6
| * Set the screen on the QOpenGLContext to be the same as the windowv5.13.2Andy Shaw2019-10-181-1/+3
| | | | | | | | | | | | | | | | This ensures that the QOpenGLContext has the right screen information and can create a compatible context for use with QQuickWidget. Change-Id: I9d78ff2b616e5c1d1c11d1da438ce336a0f24953 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Handle null in QQuickPointerEvent and QQEventPoint debug operatorsShawn Rutledge2019-10-171-0/+8
| | | | | | | | | | | | | | | | For example qDebug() << event->asMouseEvent() could crash if the event is not a mouse event. Change-Id: I34ffadeb9fc23f42d1d6939190c43a6486eea533 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * Add changes file for Qt 5.13.2Antti Kokko2019-10-171-0/+63
| | | | | | | | | | | | Change-Id: Ibfc31704442f9a911f37cdda3baa48e2ccb34c42 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Bump versionFrederik Gladhorn2019-10-141-1/+1
| | | | | | | | Change-Id: I7345dd5dc9684c19e075d4d81c6a4df7421cae27
| * Merge 5.13 into 5.13.2Frederik Gladhorn2019-10-1132-33/+494
| |\ | | | | | | | | | Change-Id: Ib1a7bdda1cde721efb356b2d043b26e2db7386ae
| * | Doc: Add a \note about the (broken) Binding value restoration policyUlf Hermann2019-10-091-0/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-78566 Change-Id: Ic76b6212f4ccc3ce8b9199166223e92c203272a5 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | | QQuickItem::setParentItem: add child earlierFabian Kosmale2019-10-293-4/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling (de)refWindow can trigger QQuickItem::windowChanged, which in turn can call a user defined windowChanged handler. If that signal handler were to call setParentItem, we would encounter an inconsistent state: The item already has its parent set, but that parent would lack the item in its children list (as we would only call refWindow at a later point). Fixes: QTBUG-79573 Fixes: QTBUG-73439 Change-Id: I46adaa54a0521b5cd7f37810b3dd1a206e6a09c6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | qv4compileddata: do not use raw constexprFabian Kosmale2019-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Necessary after change 50481fb909c2bbbc26a193e23783e5b0151168b9 in qtbase Fixes: QTBUG-79563 Change-Id: I72c94cd87b881f2fb3fee005f73583f64cbf68e4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Add missing emits from various property setters in {Grid,Row}LayoutJan Arve Sæther2019-10-252-0/+60
| | | | | | | | | | | | | | | | | | Change-Id: I3ac473b3d46ff1f898c1607deb6ad3d586753244 Fixes: QTBUG-79359 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | Loader: Actually clear initial properties when changing sourceFabian Kosmale2019-10-244-1/+31
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-79435 Change-Id: Ic99a3b1a9d64426a64117b90a3e11fe99af0d260 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Rename some variables and a function to improve clarityJan Arve Sæther2019-10-242-19/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename firstVisibleItem() to firstItemInView() to reflect its behavior, as the comment requested ;) * Likewise, rename some related variables Change-Id: I98e25d5d47a4acb56a2b4f2bd75bec062ff770ee Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Fix image particle flickering due to broken state machine logicLaszlo Agocs2019-10-142-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A null QSGNode cannot be returned since that leads to not showing anything in the next frame. That is unacceptable in case there are already particles displayed and we are merely regenerating due to the increased number of particles. Task-number: QTBUG-54673 Change-Id: If610c56f6d82d35a8de6b435fd8b18ceb7adf2e7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Fix updating of text nodes in QQuickTextEditLars Knoll2019-10-141-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The update algorithm wasn't correctly removing all node that requires removing, as the startPosition is not always up to date when deleting lines of code. Instead, figure out the first Node after the changed region that is clean and keep that one as a reference. Amends 560a1991ac4524ff16352da23a2b54d717548f33. Fixes: QTBUG-74745 Change-Id: I4a2c5bd7a673af5cad1850e3a5b703f9554cd7e6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Igor Bugaev <freedbrt@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | QQuickTextInput::remove: Fix selection logicFabian Kosmale2019-10-113-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-77814 Change-Id: I96b8990656117430eb12fc4b294a8ece612d3a4b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Doc: Add "Using" to other sections for consistencyNico Vertriest2019-10-111-7/+7
| |/ |/| | | | | | | | | | | Task-number: QTBUG-79061 Change-Id: I5d359d9a8ba48131a3aec5487604e30d3b0370ed Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Doc: Modify area.pressed to windowShown in TestCaseNico Vertriest2019-10-101-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-77923 Change-Id: I487c58d1e50de15c00539c7610ab570f11df6027 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Doc: Rename section ObjectModel in Qt Quick Views exampleNico Vertriest2019-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | - a section should not have the name of a QML type - caused links to ObjectModel to refer to the wrong page Task-number: QTBUG-79061 Change-Id: I92bbd00e02252d3eca2ad50deca7d573f53f549a Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix QQuickWindow::afterAnimating with QQuickRenderControlPaul Lemire2019-10-101-0/+1
| | | | | | | | | | | | | | | | emits QQuickWindow::afterAnimating prior to synching changes Task-number: QTBUG-79084 Change-Id: Ie79d3b8ec912c2e662b2c0745dda442d47d184bd Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | QQuickImage: Fix an odd 1px offset on 'fillMode: PreserveAspectFit'Alexander Akulich2019-10-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to ceil x and y offsets on default (AlignHCenter) PreserveAspectFit image. Consider the follow code: width = 256; pixWidth = 255.99; xOffset = ceil((width - pixWidth) / 2); It means that we use 1px offset to center an image that is 0.01px tighter than its view. This actually leads to painting outside of the bounding rect. Use simple integer division to calculate x and y offsets. Task-number: QTBUG-79011 Change-Id: I76f2fe3361b820c48202f8f872e2ddb58a65016e Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Add signal spies to tst_QQuickPathView::flickNClick testShawn Rutledge2019-10-091-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | QTBUG-78926 is about failing to emit the movingChanged signal. The test verifies that e2df4233a77ce8a37d2c8ef26b7b42fc0d33a24b fixed it. While we're at it, might as well verify a few more signals in this test scenario where we flick the PathView at various speeds and then stop the flick by clicking. Fixes: QTBUG-78926 Change-Id: I1253dfcd88a63abdbdd280dd9097b484a93cc491 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | PathView: grab mouse on press if already movingShawn Rutledge2019-10-094-3/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A side effect of 8fd398c9d2f5f54e446e0b402bc63a2edb50da6f is that it became possible for the highlight to stop between items, rather than snapping to a specific item, if the user taps, clicks or drags an additional time while the movement is ongoing. That was because it didn't get a mouse grab, so it missed the release event. QQuickPathViewPrivate::handleMouseReleaseEvent() needs to take care of the snapping behavior after the user stops dragging. This only affects behavior in the case that the PathView is already moving and the mouse is pressed again: we assume the user wants to alter the PathView's velocity, not interact with any delegate inside or with any parent item. Task-number: QTBUG-77173 Task-number: QTBUG-59620 Change-Id: I7b2f69a6ef8d8022d7c917a5bf9e8fb40c8848db Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> (cherry picked from commit e2df4233a77ce8a37d2c8ef26b7b42fc0d33a24b)
* | Be more fussy about the MakeDay() calculationEdward Welbourne2019-10-0814-5/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ES Date spec goes into minute detail about doing various algorithms in the dumbest possible way (like InLeapYear() calling DaysInYear(), rather than the other way round) but, in MakeDay(), leaves the implementation to solve the problem of finding the start of the first day of a specified month in a given year. So exercise the freedom we have in that to be a little more robust; and actually check we have met the conditions the spec requires, returning NaN (as specified) if not. Added tests for some denormal dates and date-times and for a date mentioned in QTBUG-78996. Task-number: QTBUG-78996 Change-Id: I8d9a841dd1f1d9995273a3de8f6f9130207c7c2b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Fix bug when highlight was not respected after currentIndex changedJan Arve Sæther2019-10-082-4/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickListViewPrivate::fixup() seems to only do "fixup" if moveReason != QQuickListViewPrivate::SetIndex By default, moveReason is set to Other. In the snippet given in QTBUG-77418, this is why the highlight was respected when resizing the ListView initially. However, after the currentIndex was changed, moveReason was changed to SetIndex. When we then resized the ListView, it still had the value SetIndex, and would fail to "fixup" properly. Since the ListView preferredHighlightBegin is bound to width, we should set moveReason to Other in the property setters that are related to highlight. This is then consistent with how setCurrentIndex() does it (it similarly sets d->moveReason = QQuickItemViewPrivate::SetIndex;) Change-Id: I7edf77fc977e8c7e3fc656ff5bb22b4dd01afbe4 Task-number: QTBUG-77418 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Doc: Add example on how to access types in imported QML from javascriptNico Vertriest2019-10-071-2/+5
| | | | | | | | | | | | Task-number: QTBUG-66194 Change-Id: Ifd81db18a344557f610e45d7c2d4208f014e94b9 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Fix sprites leaking textures in SW and OpenVG backendsEirik Aavitsland2019-10-074-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a QSGSpriteNode is initialized with a texture, it is supposed to take ownership of the texture and delete it when the node gets deleted. In the default backend, this happens automatically: The texture gets assigned to the node's QSGMaterial object, and the node has set the OwnsMaterial flag, and so the inherited QSGGeometry destructor takes care of deleting the material, which deletes the texture. However, the Software and OpenVG backends do not have material objects, so the above mechanism does not apply, and so the texture objects are leaked. Fix by deleting the texture object directly from the SoftwareSpriteNode and OpenVGSpriteNode destructors. Fixes: QTBUG-77019 Change-Id: I503d704f66593ba6a36c969db80f74f715382b6b Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | OpenVG: Fix delivery of touch eventsEirik Aavitsland2019-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | By default, touch events are compressed and then delivered on window update. However, the OpenVG render loop, unlike the other backends, did not flush the queued events during rendering. Fixes: QTBUG-76526 Change-Id: Ifbcc90aa7d1942ba2104fa81eb46fdb79b593bb9 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | OpenVG: Fix emitting of sceneGraphInitialized and -InvalidatedEirik Aavitsland2019-10-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | These QQuickWindow signals were not emitted when using the OpenVG backed. The reason was that the OpenVG scenegraph context, unlike other backend contexts, did not signal when it was initialized and invalidated. Fixes: QTBUG-76806 Change-Id: I2299b253464b71d4ca9c54c85359c6bcb0718d43 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | OpenVG: Fix rendering of non-affine transformed rectanglesEirik Aavitsland2019-10-071-12/+5
|/ | | | | | | | | | Perspective transforms need special handling in OpenVG. However, that was only done for rounded rectangles. Enable it for zero-radius rectangles too. Fixes: QTBUG-76589 Change-Id: Ibe2e0344dfde45f70f8f443fcd22d33e89eae286 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Doc: Correct reference to StackViewNico Vertriest2019-10-022-2/+2
| | | | | | | | | - erroneous link to Controls1 - put qtquickcontrols before qtquickcontrols1 in depends statement Task-number: QTBUG-78799 Change-Id: I8107d9f23660e37c742a588b0efc38ac336babeb Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Correct link error Package typeNico Vertriest2019-10-011-1/+1
| | | | | | | Task-number: QTBUG-78803 Change-Id: Ideff1b3974dcb9ef833e5847e5a2df344105f241 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Fix typoPaul Wicking2019-09-261-1/+1
| | | | | | Fixes: QTBUG-78784 Change-Id: Idc156088fdae4782b4970c3211b8248f8c333e9a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* QMLJS: Fix exception handling in promisesFabian Kosmale2019-09-233-0/+30
| | | | | | | | | | | If an exception is thrown inside a promise's resolve or reject handler, the promise needs to resolve into a rejected state with the exceptions value. The value was previously not set. Fixes: QTBUG-78554 Change-Id: Ic22faa6ef1e519e4cae6732c69bb14f7053d13da Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* doc: explain more about acceptedModifiers in PointerDeviceHandlerShawn Rutledge2019-09-192-3/+62
| | | | | | | | | | | | | | | | Having neither a list of all possible modifiers nor a link to Qt::KeyboardModifier was inconvenient. Clarify that bitwise OR results in logical-AND behavior, while having multiple handlers results in logical-OR behavior, and that a switch statement in JS allows you do anything you like with modifiers. Fix the manual test to test the switch statement and deal with the fact that point.event.modifiers is undefined: TapHandler can use eventPoint.modifiers, but any DeviceHandler can use point.modifiers. Fixes: QTBUG-78234 Change-Id: Iba2a03950aa1279ef454cc76fc8de1b2dab14dfb Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Check if the filters are different before triggering an updateAndy Shaw2019-09-191-0/+2
| | | | | | | | | | | | If the filters list is the same as before, then there is no reason to trigger an update on the thread as the result would be the same as before. This solves a problem that was occurring with iOS 13 as it would get stuck due to repeated calls to setNameFilters() with the same filter list. Fixes: QTBUG-78468 Change-Id: I705cfaaa0a1a19b1d0397140a5831fc67557a4ee Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Doc: add TableView \since versionMitch Curtis2019-09-171-0/+1
| | | | | | Task-number: QTBUG-78307 Change-Id: I71bc58ba5e4d930167f56a264e20b352244502a3 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* lancelot graphics test: Fix screengrabs being distorted on WindowsEirik Aavitsland2019-09-131-0/+9
| | | | | | | | | | The grabbing process transports the image data to the main process over the stdout stream. Windows by default applies LF->CRLF conversion on that stream. Avoid by setting the binary mode flag on it. Change-Id: Ieec0911e24e21c111caeb35e35259833e1fdd639 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* lancelot graphics test: support shadow build and installEirik Aavitsland2019-09-132-9/+15
| | | | | | | | | | | Use the QFINDTESTDATA mechanism to locate the test suite directory, and add the data directory and qmlscenegrabber to the installs. As a driveby, improve runtime by cutting down on needlessly long waiting time between test scenes. Change-Id: Id8452c843eef198d8548b196b0a2b5f0bc6be8ba Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* tst_gridlayout.qml: use createTemporaryObject()Mitch Curtis2019-09-121-41/+15
| | | | | | | | Ensures that items created in a function are destroyed upon failures in that function, and results in less code. Change-Id: I62b3b7c3a19dbb2128c5c45bdc7adf4fe80df70d Reviewed-by: Liang Qi <liang.qi@qt.io>
* tst_gridlayout.qml: convert to a proper data-driven testMitch Curtis2019-09-121-13/+26
| | | | | Change-Id: I9f2ccd3d4e6933d68b03d82c2c319aa2e8951e78 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-09-1211-42/+194
|\
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-1211-42/+194
|/| | | | | | | Change-Id: I6472cd72b27c69257efe54376e428274ebf68050
| * Merge "Merge remote-tracking branch 'origin/5.12.5' into 5.12"Qt Forward Merge Bot2019-09-072-0/+89
| |\