aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * | | Fix loading of ES modules when using CONFIG += qtquickcompilerSimon Hausmann2019-08-265-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the missing lookup for cached .mjs files in ExecutionEngine::compileModule. This allows using .mjs files in WorkerScript {} elements in conjunction with the Qt Quick Compiler and also fixes the use when using QJSEngine::importModule. [ChangeLog][QtQml] Fix loading of EcmaScript modules when using the Qt Quick Compiler. Fixes: QTBUG-77761 Change-Id: I58130b0468f4920b2f6c49b98a2f51d5ae3a0491 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| | | * | | Remove HACKING fileEskil Abrahamsen Blomfeldt2019-08-231-23/+0
| | | | |/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This file ends up in release packages and contains some outdated documentation about where to put different types of examples, which should probably not be documented by random files in the source repository. Change-Id: If35ee6cd2b4084fc5763a0cab39b9ff3e44fa133 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * | Document that QQmlPropertyMap's meta object is not threadsafeVolker Hilsheimer2019-08-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is generated and modified at runtime, so applications have to synchronize access explicitly. Fixes: QTBUG-70915 Change-Id: Ie6f29eef8532e2fa4ebf8dad1678cd2acbacf659 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | | * | doc: Clarify that the delegate populate transition doesn't always runShawn Rutledge2019-08-122-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-42798 Change-Id: If10f06450f1e50893e5ba103e7c8c2d83667a651 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * | | Doc: minor language issue in image elements documentationNico Vertriest2019-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5f3774ec4650dcc7eb316b4a15740e4a67504365 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * | | Doc: Replace the "Qt Quick Controls 2" instancesVenugopal Shivashankar2019-08-224-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is one of the several commits, replacing the "Qt Quick Controls 2" instances with "Qt Quick Controls". Change-Id: I2e1f1e53bd7756331320f5447dbdabef36dfcb66 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * | | nothread: enable shapesLorn Potter2019-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These seem to work fine on nothread build, so enable them. Change-Id: Ib2c7f6e462ca04d82b729bc29c846017f7bf131a Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * | | Fix flakiness in QQuickTextEdit::mouseSelectionJan Arve Sæther2019-08-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid that the last click from the previous test data and the first click in the current test data happens so close in time that they are interpreted as a double click. Task-number: QTBUG-77389 Change-Id: Ia2d159452dcdb58cacccf7101cc3360175b39594 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | | QQmlTypeLoader: Prevent trivial cyclesFabian Kosmale2019-09-128-2/+44
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The type loader already contained a cycle check, however it did not work for the attached example. We now do an additional test for A->B->A cycles, which fixes the bug. This is a valid strategy, as in that case the currently resolved type would immediately fullfill the depentency of the type waiting on it, which in turn resolves the only dependency of the current type. Fixes: QTBUG-78098 Change-Id: I8b550a1c240d3d0fbf158beb99a5daf992904cb0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Fix gcc warnings in vulkanunderqml exampleLaszlo Agocs2019-09-111-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: Iea81662f39d2a128cea0e83a766395e0fb1e9896 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | | Request correct alpha composition on the rhi code pathLaszlo Agocs2019-09-113-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-78089 Change-Id: I22f8bb5ec0af33397df14e064a0306bd4c5a5ef5 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | | QQuickFolderListModel: make sure properties' values can be updateWang Chuan2019-09-112-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some properties in FolderListModel neglect to update their values, although the new values are passed to the thread which does the real work [ChangeLog][QtQuick][QQuickFolderListModel] update the values of some properties when setting new values to them Fixes: QTBUG-77965 Change-Id: I77db3388cee569479459deaa2e19546a77da6178 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | | Drop expendable rhi data when in release(Cached)ResourcesLaszlo Agocs2019-09-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that a suitable function is introduced in QRhi, call it. Change-Id: I6328a4be90418015384b472655c9b8ad34a07e12 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | | QQuickWidget: state that we want premul alpha based blendingLaszlo Agocs2019-09-112-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-77471 Change-Id: I819c4e0cf751a12726a170f2c48f63f003c549a1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Use constructor-style casts in qmlobject_(dis)connectShawn Rutledge2019-09-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The old-style casts generate warnings wherever these macros are used. Change-Id: I5427c6f476728bcf4b2b91196c10187d2aaf5a44 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | | Optimize enum setupUlf Hermann2019-09-103-42/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have already set up the enums from a property cache or a metaobject, respectively, we can see that from the flags. Retrieving the composite property cache is expensive and we can skip it in that case. Task-number: QTBUG-77237 Change-Id: I63f5e1ca0fc166ec927754bdf5d166b2ce8ff0f6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Prefer JS stack frames over QML contexts when resolving translationsUlf Hermann2019-09-105-23/+64
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-77751 Change-Id: Ic5e07dc4e251c5fbf149b0a4f015bac5187dd6a1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Also check the non-file-imported type on QQmlMetaType::typeForUrlMichael Brasser2019-09-0910-4/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no reason why we wouldn't want to find those. Failure to do so leads to duplicate creation of singleton objects. Fixes: QTBUG-76514 Change-Id: If2fdfbd933229518136ae0d19474bbaebfbb8cff Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | | | Don't manually resolve C++ base type for attached propertiesUlf Hermann2019-09-092-23/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attachedPropertiesType() method itself is better at that. Change-Id: Ife46b78c697e60e33a973194b8a2244edb2fb872 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | | | Refer to recently added examples into the scenegraph docsLaszlo Agocs2019-09-081-0/+13
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib87fde45e5ebfed596c5d0146d6987e5390bac64 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Clarify docs and comments regarding under and overlaysLaszlo Agocs2019-09-083-3/+17
| | | | | | | | | | | | | | | | | | | | Change-Id: I8973798996b6c775f425819af1d6a09f1773a9dc Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Add metaltextureimport exampleLaszlo Agocs2019-09-0812-4/+882
| | | | | | | | | | | | | | | | | | | | Change-Id: I499c21083faf6096a0dc3b8ee5682dd5cbcd3ce7 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | rendernode example: Prevent gui-render thread data raceLaszlo Agocs2019-09-089-81/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By taking things like the item width and height in updatePaintNode() (while gui is locked). Change-Id: I840c6c858a0478eb6ceb09653fd1e033cb54372d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Make vulkanunderqml work and update docsLaszlo Agocs2019-09-084-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | What we are doing for now is setting ExternalContentsInPass always. This way vulkanunderqml works as expected. For applications that do not integrate external rendering this means that there is now an additional secondary command buffer per render pass, but we can live with this for now. Later (Qt 6) there should be a way to declare this (that the application will want to issue native rendering stuff) up front in QQuickWindow or somewhere. Change-Id: I736741f9b0eee2f8295b046bacdce862e6a546f5 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Add vulkanunderqml exampleLaszlo Agocs2019-09-0814-9/+952
| | | | | | | | | | | | | | | | | | | | Change-Id: I61e8b50f560d1f4c68731fb19eb13071992040c9 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Expose renderpass from QSGRendererInterfaceLaszlo Agocs2019-09-085-4/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Important for Vulkan and (upcoming) examples like vulkanunderqml. Change-Id: I5b6c978f38175eca76efe059aa83bb7158724752 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Implement lookups for enumsSimon Hausmann2019-09-063-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-77237 Change-Id: Ibe8fe8044b96d9d4b7a1a31b432daa886edbd799 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | QQmlTypeLoader: Do some more sanity checks on file and path namesUlf Hermann2019-09-052-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently we can end up with null bytes in those names, and those really should not be valid. Change-Id: I5b84dbc412342dbfb23befd5417a8bd394d4fb4f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Implement lookups for qml type wrappersSimon Hausmann2019-09-053-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-77237 Change-Id: I661dc7a23946520c8ad298c39796cb8d0561d80c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Drop default parameter for qmlRegisterAnonymousTypeUlf Hermann2019-09-052-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | People already feel compelled to misuse it. Change-Id: I7da0745f9cc3b6081f3237213e57c3cd084bfe4d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Use quiet NaNs instead of signalling onesEdward Welbourne2019-09-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I see no good reason why the NaN returned when reading "nan" as a double should be a signalling one; a quiet one should be just fine. [ChangeLog][ES][] The NaN obtained by Math.pow(+/-1, +/-infinity) and (+/-1)**(+/-infinity) is now quiet rather than signalling. Change-Id: I6b5ea469c17c028328c803f54f2a6d4422a80033 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | Make QQmlValueTypeFactory::valueType() and isValueType() consistentUlf Hermann2019-09-049-52/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If isValueType() returns true, we should really return a non-null value from valueType(). Otherwise the assumption that QQmlValueTypeWrapper::valueType is never null breaks. In particular, the unknown type and various primitive types are _not_ value types. We special case the, probably common, UnknownType and check the actual return value of valueType() for anything else. In order to avoid looking up the metaobject each time we request a type that is not a value type, we keep an invalid value type as marker for "not checked yet" and replace that with nullptr once we determine that the type in question is indeed not a value type. Fixes: QTBUG-76866 Change-Id: I797f4cdd4db48ffc1b8fa2d919afc8022f67fa94 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | QQmlType: Remove dead codeUlf Hermann2019-09-042-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQmlType::superType() is a private method that isn't called from anywhere. Change-Id: I5aa291b44c0cb72f8cf46ef765d4742496482477 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | PathMultiline: handle directly-bound QVector<QPolygonF>Shawn Rutledge2019-09-033-7/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autotest in 811b15bd161d12e5c85e093f9f492a0c4fa278d6 only tested what happens if the vector of polygons is passed via a QVariant to the PathMultiline paths property. But the intention (as documented) was to literally support an object with Q_PROPERTY(QVector<QPolygonF> paths ...) and binding that paths property to PathMultiline.paths. In that case it appears in QQuickPathMultiline::setPaths() as a QVariant<QJSValue>, canConvert<QVector<QPolygonF>>() returns false, then canConvert<QVariantList>() returns true. Nevertheless each variant in the QVariantList is a QPolygonF, as expected. So we need another check to detect this case. Also added a test specifically for that. Fixes: QTBUG-77929 Change-Id: I84d0a45326d5f007b8ba3cc9bb1fbccf0345d812 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | | Allow semicolon after property declarationFabian Kosmale2019-09-033-7/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the rules already had Semicolon at the end, however it was missing for UiScriptStatement, list properties and UiObjectInitializer. This change fixes the regression from 5.11.3 to 5.12.0, and keeps the behavior consistent. Fixes: QTBUG-77954 Change-Id: I45ef35fab399e3f971444b96d4a9ec6a99e29e09 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | | PathMultiline: allow lists/vectors of polygons or point lists/vectorsShawn Rutledge2019-09-025-35/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a C++ model object can make a vector of vectors of points available directly, and it is bound to a PathMultiline's paths property to provide the view layer, it's a waste of time to convert it to a QVariantList of QVariantLists and back again. Changing the type of the property to QVariant instead of QVariantList enables an extensible set of supported types: all those that make sense. Fixes: QTBUG-77929 Change-Id: If749c2171173e7b9933fc9ecdf6d2741dc1c7500 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | | Enable PathPolyline to take a QPolygonF or QVector<QPointF> pathShawn Rutledge2019-09-025-18/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a C++ model object can make a vector of points available directly, and it is bound to a PathPolyline's path to provide the view layer, it's a waste of time to convert it to a QVariantList and back again. Changing the type of the property to QVariant instead of QVariantList enables an extensible set of supported types. Task-number: QTBUG-77929 Change-Id: I2453b59e047ec3310070e943f6934c9ddcd1ffaa Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | | Visit lists iteratively when parsing QMLUlf Hermann2019-09-021-35/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I243d12b75a07ac04560b444c326bff77d0dc642c Fixes: QTBUG-74087 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Fix pedantic warnings in QQuickImageShawn Rutledge2019-08-301-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - semicolon after switch is not necessary - a switch that covers all possible cases should not have a default case: that way if someone adds another enum value, she needs to think about what it means in that switch - hopefully it was not intentional to ensure that targetRect has integral size in the PreserveAspectCrop case; it's not an explicit cast, so it looks like a mistake Change-Id: Ie7525137e826ed3ea03ac1dc9d2563e791379b42 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | | Add a createTextureFromId() alternativeLaszlo Agocs2019-08-307-7/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Say hello to createTextureFromNativeObject(). This is the future replaecment for createTextureFromId(), and is capable of operating on both the direct OpenGL and the RHI code paths. In practice this allows creating a QSGTexture that wraps - but does not own - an existing VkImage, ID3D11Texture2D*, MTLTexture*, or GLuint. Change-Id: I500ee4c76da67eca1a70599a30b03d7b126b570d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | QQuickFbo: add the RHI warningLaszlo Agocs2019-08-302-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This class will probably go away in Qt 6. "Probably", because it is not yet clear if/how an alternative will be provided. Change-Id: Iba205c394a97bf8d2c1001f8f42ad26be6841b09 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Add a note to QSGEngine about its incompatibility with the RHILaszlo Agocs2019-08-302-0/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: Id9d6ce4a531d2cd1b79b3bb9224a5567ead42799 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | | Fix build with -no-feature-quick-pathJohan Klokkhammer Helsing2019-08-302-3/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: I7ed2c190ffe9ddd83aeee28de3c5d87269ec53ee Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | | Avoid introducing rhiTexture() in the public API of QSGTextureLaszlo Agocs2019-08-295-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need for this. The few internal users can get it via QSGTexturePrivate. The original thinking was based on QRhi* being a public API, but that is not the case in the near future. So avoid introducing a public API relying on QRhiTexture. This of course makes it impossible to retrieve the native object under a QSGTexture (as textureId() is not used anymore when rendering with the RHI). For that, an alternative approach will be introduced later on. Change-Id: I0099b23424cafa4958f78c03300b0c934b60d92c Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | | Fix not printing logs with QSG_INFO when forcing rhi backend from C++Laszlo Agocs2019-08-293-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickWindow::setScenegraphBackend() may be called before QQuickWindow gets a chance to create a render loop. If QSG_INFO (the env.var.) is used instead of the logging category (qt.scenegraph.general), some logs are not printed because the code that enables the logging category is not yet run. To prevent confusion, make sure the logging category gets enabled before the first potential qCDebug. In the worst case we check twice but that's fine. Change-Id: Ibfc0af05050adc9766c30a2d15c778b2a51823fe Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | Set point size in visualization vertex shaderLaszlo Agocs2019-08-292-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...in order to avoid a validation layer warning with Vulkan when visualizing overdraw on a scene that includes drawing points (like some types of particles). Change-Id: Ia0a40f850ce5f7a0374c7b8779d5342f191c6973 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | CMake: Document newly introduced QT5_IMPORT_QML_PLUGINS functionAlexandru Croitor2019-08-282-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-38913 Change-Id: I25ada92de8c7d7186c9b083b8a8ccc4427945b28 Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | | QQuickDragHandler: Add revision to snapModeUlf Hermann2019-08-282-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This property was added in Qt 5.14. Change-Id: I48ebc614490e67440419965983126740c4443d0e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Android multiarch supportBogDan Vatra2019-08-282-2/+10
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifa70d6cb36be385280364cca9dd4e31b43aa9a18 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | | Merge dev into 5.14Kari Oikarinen2019-08-27199-722/+4029
|\ \ \ \ | | | | | | | | | | | | | | | Change-Id: I3ae119563f41fda63ac2b452f2d05fa83e411faa