commit 585ee10c63d9e69dce07674db99c92a3814da157 Author: Qt Submodule Update Bot Date: Thu Mar 19 09:09:25 2020 +0100 Update dependencies on 'dev' in qt/qtdeclarative Change-Id: I241886ecb71c0e28b6eee324df83578b68249eb3 Reviewed-by: Simon Hausmann commit d097d77eceea387a27179cdeaf5e50d46ad8e7f0 Author: Fabian Kosmale Date: Wed Mar 18 15:11:04 2020 +0100 fix developer build on clang Change-Id: I413cbce42d7405b17eff18293a68c2a26f30fd08 Reviewed-by: Ulf Hermann commit df6d816fe3b0444db2c4165c86b330edd610e531 Author: Fabian Kosmale Date: Thu Mar 5 14:16:37 2020 +0100 QQmlPropertyCache: Avoid costly string comparison The qqmlecmacsript required changes, because the call to id makes the type now known to the QML engine. Change-Id: I73aed804ae8769c71676b44d8450e1dabf5baa6d Reviewed-by: Ulf Hermann commit 2757f8e0e18d3222bf3802280ad28256d12bb810 Merge: 748411fa64 13caf26b29 Author: Qt Forward Merge Bot Date: Wed Mar 18 11:44:13 2020 +0100 Merge "Merge remote-tracking branch 'origin/5.15' into dev" commit 748411fa64412db1650e04ee7b4405b8fbc53d42 Author: Ulf Hermann Date: Wed Mar 4 16:46:42 2020 +0100 Store a QV4::ReturnedValue in QJSValue Being careful, we can now save primitive values inline. We use the heap pointer of QV4::Value as either QString* or QV4::Value* for complex types. We cannot store persistent managed QV4::Value without the double indirection as those need to be allocated in a special place. The generic QVariant case is not supported anymore. The only place where it was actually needed were the stream operators for QJSValue. Those were fundamentally broken: * A managed QJSValue saved and loaded from a stream was converted to a QVariant-type QJSValue * QVariant-type QJSValues were not callable, could not be objects or arrays, or any of the special types. * Cyclic references were forcibly broken when saving to a data stream. In general the support for saving and loading of managed types to/from a data stream was so abysmally bad that we don't lose much by dropping it. [ChangeLog][QML][Important Behavior Changes] When saving a QJSValue to a QDataStream only primitive values or strings will be retained. Support for objects and arrays was incomplete and unreliable already before. It cannot work correctly as we don't necessarily have a JavaScript heap when loading a QJSValue from a stream. Therefore, we don't have a proper place to keep any managed values. Using QVariant to keep them instead is a bad idea because QVariant cannot represent everything a QJSValue can contain. Fixes: QTBUG-75174 Change-Id: I75697670639bca8d4b1668763d7020c4cf871bda Reviewed-by: Fabian Kosmale commit 7230005ef66f22a7ee3addff95b1e8d9060dc5a1 Author: Lars Knoll Date: Tue Mar 17 16:36:08 2020 +0100 Remove QRegExpValidator usages This also means the RegExpValidator QML type will be gone. Use QRegularExpressionValidator instead. [ChangeLog][QtQuick][RegExpValidator] The RegExpValidator QML type has been removed. Use RegularExpressionValidator instead. Change-Id: If25fc5a258a669dfd28e705271757caa252ce05c Reviewed-by: Fabian Kosmale commit 13caf26b29283b544edc2974fa1ea0481c63b435 Merge: 36fb7cf832 869efe4a49 Author: Qt Forward Merge Bot Date: Wed Mar 18 11:44:13 2020 +0100 Merge remote-tracking branch 'origin/5.15' into dev Conflicts: tools/qmllint/findunqualified.cpp Change-Id: I2593b5cc0db1d14e0c944aec4b88a80f46f5b0c1 commit c5b48c735e1c26444e53c4ea7dc6df4c57b5e9b4 Author: Ulf Hermann Date: Thu Feb 20 16:54:35 2020 +0100 Also support partly specified versions in JS .imports Task-number: QTBUG-71278 Change-Id: Ie3167d44780a192b5010052eea5192eee8c21c32 Reviewed-by: Fabian Kosmale commit f4937a21b61bf2f214d175d77c432c68f25ead21 Author: Ulf Hermann Date: Fri Feb 7 16:22:53 2020 +0100 Allow multiple URL interceptors per engine We may want to have, for example, a QQmlFileSelector and a component-specific interceptor that chooses a theme or similar. Also, make the API public. We want to propose this as alternative to dynamically registering QML files via qmlRegisterType(QUrl, ...). Change-Id: I4a535d3ea556da6710fde816579ec188b3f57099 Reviewed-by: Fabian Kosmale commit 1eb20d70619cc896fc283bd6605b257a8750c518 Author: Ulf Hermann Date: Mon Jan 27 17:31:06 2020 +0100 Allow partial and absent version specifiers in import statements An import statement without version specifier imports the latest version available, one with only a major version imports the latest minor version from that major version. Task-number: QTBUG-71278 Change-Id: I43907ae4e1052be533039d545de5391c41d38307 Reviewed-by: Fabian Kosmale commit db554e8e1c3242634d035ebb3dcbe3c441d80bdc Author: Qt Submodule Update Bot Date: Tue Mar 17 07:49:56 2020 +0100 Update dependencies on 'dev' in qt/qtdeclarative Change-Id: I02b8a408ef07aa48314195fe1fb396301003383c Reviewed-by: Simon Hausmann commit c5043245fb01698acc700cdaa119ade14d498987 Author: Qt Submodule Update Bot Date: Mon Mar 16 18:52:47 2020 +0100 Update dependencies on 'dev' in qt/qtdeclarative Change-Id: Ia41e897ad59afc27ef4e3e454887414a818a7858 Reviewed-by: Simon Hausmann commit ebf6bf3b01f312fe066225c67f794f7ab67cb49a Author: Fabian Kosmale Date: Fri Mar 13 11:46:34 2020 +0100 Fix some network related deprecation warnings Change-Id: I0e5e9e42b7c81e1fa5d6abde6bd6346dbc2f14ff Reviewed-by: Ulf Hermann commit afe20375bab3dea584c3b6c9bc5812da78f6618e Author: Ulf Hermann Date: Mon Mar 16 12:15:10 2020 +0100 qmllint: Use fully qualified QML type names as superClass Otherwise we miss subtleties such as Label vs. T.Label. Task-number: QTBUG-82817 Change-Id: Idc2131426b2fd96f279dab83292a348b9295d5c0 Reviewed-by: Fabian Kosmale commit 1875ad7f92cad270cc5857d71096a4b46c27c562 Author: Vitaly Fanaskov Date: Tue Aug 6 15:47:50 2019 +0200 Introduce new mechanism to manage palette functionality in QML Main goals of these changes: 1) Add an ability to work with disabled and inactive palettes from QML 2) Eliminate massive code duplication in qtquickcontrols2 module 3) Provide easily extensible architecture for this piece of functionality Architectural part. Palette It was decided to not change existing QPalette, but add thin wrappers around it to provide all required functionality. These wrappers are highly coupled with QPalette class because of using some enum values from it. There are two new classes QQuickPalette and QQuickColorGroup. QQuickPalette class inherits QQuickColorGroup class and represents Active/All color group. QQuickPalette also provides an access to three color groups: Active, Inactive, and Disabled. In order to access colors the special class QQuickPaletteColorProvider is used. This is a wrapper around QPalette that provides some convenience functions. Interface The private property "palette" should be exposed. Implementation All private parts of classes that implement QQuickAbstractPaletteProvider have to inherit QQuickPaletteProviderPrivateBase class. This template class implement all functionality: create palette, resolve dependencies, connect objects etc. This is important to mention that related data is lazily allocatable on demand only. Hence, there is no memory overhead for regular items. Change-Id: I911424b730451b1ad47f68fd8007953b66eddb28 Reviewed-by: Volker Hilsheimer commit 3e57c56aa1d54ac4587284727ca9c952d33f3e43 Author: Ulf Hermann Date: Mon Mar 16 11:20:47 2020 +0100 qmllint: Add QFont to the list of unknown builtins And also check them when analyzing JavaScript access. Task-number: QTBUG-82817 Change-Id: I677e7883fb24ab80ff20d1998e2d7df440ef4112 Reviewed-by: Simon Hausmann Reviewed-by: Fabian Kosmale commit 61413825960870ac9390d0aa0431702431c620f2 Author: Fabian Kosmale Date: Wed Feb 19 13:51:24 2020 +0100 Inline components: Abort if two IC's with same name exist Change-Id: Ic52fa388711a76d729ae28678932f4a150da9583 Reviewed-by: Ulf Hermann commit b5f4b92b36f4957452cb0df7ead79d270bc568b5 Author: Fabian Kosmale Date: Wed Feb 19 13:19:09 2020 +0100 Prefer Inline Components over any other imported name 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 commit 35bc1f839448f05972d397a0bb3d79a4538d6f3c Author: Alexandru Croitor Date: Fri Mar 13 13:20:24 2020 +0100 Update dependencies.yaml To latest qtbase and qtsvg, to allow enabling of qtdeclarative CMake builds in Coin. Change-Id: I8d4382d3c54889500a59b017c876340848e615a5 Reviewed-by: Fabian Kosmale commit 0820315bb5427f2a7daba70a1ddad863b43a601c Author: Eskil Abrahamsen Blomfeldt Date: Wed Mar 11 09:43:47 2020 +0100 Update dependencies.yaml to latest SHA1s Required three updates to examples due to some changes in the dependency graph. Change-Id: I48dc9bf6d4fa82395bdf25deb1a768c354097bdc Reviewed-by: Paul Olav Tvete commit 79a9d8f398aea3acb8194b3e6b82ae869a920220 Author: Fabian Kosmale Date: Mon Mar 9 14:47:01 2020 +0100 QmlFolderListModelPlugin: unregister registered type Change-Id: I29db8c652d85db5d9b92fd184632680a0ad06e55 Reviewed-by: Ulf Hermann commit f3f845f2999f1635bc0469ef4ec1015e6d97736e Author: Fabian Kosmale Date: Wed Feb 26 11:22:15 2020 +0100 Remove QQmlFileSelector::setExtraSelectors overload We only need the one taking a const reference. Change-Id: I9466e71495129bfccd5a70d93a6acbc43e25b2b4 Reviewed-by: Simon Hausmann commit 8178bd345530f9687d7f4159350b9337615bb3c0 Author: Fabian Kosmale Date: Wed Feb 26 11:11:06 2020 +0100 QJSValue: Make call* const (Qt 6 TODO) Change-Id: I3a6c83ffc203bf27121f460ba23d31a39d1493ee Reviewed-by: Ulf Hermann commit 5bcb2ff883f9f8ceb42ed6de298aa3036d6413b3 Author: Fabian Kosmale Date: Thu Mar 12 10:26:34 2020 +0100 Check that value type exists before creating wrapper Fixes: QTBUG-82843 Change-Id: I1ea4a52b33e7d318525e63346eab46ecf7a8fec0 Reviewed-by: Ulf Hermann commit 8592ae4096f3f9c2b08b87ad2fcbbbfadf75f2d7 Merge: e7decc7637 14492ecee2 Author: Alexandru Croitor Date: Thu Mar 12 15:27:58 2020 +0100 Merge remote-tracking branch 'origin/wip/cmake' into dev Conflicts: dependencies.yaml Change-Id: Ifff48b9d0e7962d481e63c49399e2d304e1011e5 commit 26c5243491f495194f04b449128dae36118e28da Merge: 1c7d264e3b c24c5baeda Author: Alexandru Croitor Date: Tue Mar 10 15:09:37 2020 +0100 Merge remote-tracking branch 'origin/dev' into wip/cmake Conflicts: dependencies.yaml src/qml/qml/qqmlengine.cpp Change-Id: I6a73fd1064286f4a2232de85c2ce7f80452d4641 commit e7decc7637e9eb7e66a0d19705090f18488028c0 Author: Ulf Hermann Date: Wed Mar 11 15:26:06 2020 +0100 MemoryManager: Forward arguments to init() The templating transforms references into their base types. Passing those through involves copying, and refcount ping-pong for QQmlRefPointers. Use forwarding references and std::forward to avoid this. Change-Id: I2524b53b9e06fadcc67a78c6ebf04f5bc2da354b Reviewed-by: Fabian Kosmale commit f78e542053cfc1d5c1b26d6fa4d18ef1698359a0 Author: Ulf Hermann Date: Wed Feb 26 09:48:43 2020 +0100 Clean up type registration structs * reset all structVersions to 0, removing checks for higher versions * add structVerions where they are missing * consistently check for compatibility in qqmlmetatype.cpp * remove unused members * rename RegisterSingletonFunctor Fixes: QTBUG-82241 Change-Id: I74f1876b3298dbb60ff7cfab8c13e8ad4f9f8cdc Reviewed-by: Fabian Kosmale commit 5c6e0f0095780391c42e848d20ba2cac965b1412 Author: Norihito Tohge Date: Mon Mar 2 14:56:21 2020 +0900 Remove unused define It looks like this has never been used since 5.0. Change-Id: I1038a9f15f05b5476515cf2d35931f992e77fbbe Reviewed-by: Friedemann Kleint commit 547b4d2c2d9424fdcc694e291fe543a4f52cb684 Author: Ulf Hermann Date: Fri Feb 28 15:59:15 2020 +0100 Optionally return type IDs from qmlRegisterTypeAndRevisions() This allows us to save the type IDs and later unregister the types in qmltyperegistrar-generated code. Change-Id: Id1bc73e2832c6d76e513ee3ee267b8d52e3851da Reviewed-by: Fabian Kosmale commit 9bd034ea01d01dcc4598c3e3e25e91d0b53a2cda Merge: 707f780869 1d79bef288 Author: Qt Forward Merge Bot Date: Wed Mar 11 01:00:07 2020 +0100 Merge remote-tracking branch 'origin/5.15' into dev Change-Id: I0d32fc5b99f8c9e4acb922fffe4dd5f3c5be553c commit 707f78086982f15dc4b2d6129f0b983d01cb9626 Author: Ulf Hermann Date: Tue Mar 10 14:31:16 2020 +0100 QQmlMetaType: Make dynamically created metatypes non-static Otherwise they never get deleted and leak. Fixes: QTBUG-82794 Change-Id: Iaa7b68684c5a2e8032efc8f446707c0276aa0019 Reviewed-by: Simon Hausmann commit 3a1d184516d9225c994b4db1116c1c9f19693efa Author: Ulf Hermann Date: Thu Feb 27 17:40:12 2020 +0100 QQmlObjectCreator: Drop some dead code Change-Id: Ibfc6fc49b0c09ced04f1263e097e35529e84ef7e Reviewed-by: Fabian Kosmale commit 12aabcf2a13b50db212906d4d7cd18b26ed2e60e Author: Fabian Kosmale Date: Mon Mar 9 15:23:21 2020 +0100 fix duplicated properties resulting from bad merge Change-Id: I26fa7d603d8097aab45a26e0c57a10d86491a840 Reviewed-by: Alexandru Croitor commit a4a56ddd410f2175fdad31eac43f36ab4d513b34 Author: Johan Klokkhammer Helsing Date: Tue Feb 4 12:46:33 2020 +0100 Quick: Add a public opengl dependency Needed since many classes have moved from QtGui to QtOpenGL including ones used in public headers (such as QSGMaterialShader) Task-number: QTBUG-74409 Change-Id: Ib5bb940a1667143364a32a48ad8daf4e36397b98 Reviewed-by: Ulf Hermann commit f40e8aa17a35da0b402bbcd2ca7b8636502ed448 Author: Fabian Kosmale Date: Fri Mar 6 08:45:34 2020 +0100 Remove parts of sequence type test The tests makes assumptions which simply don't hold anymore, now that QProperty does automatic type registration, and the engine supports magic conversions via QSequentialIterable. Change-Id: I33e8eeca95757686e59da9db5ef5d92041364335 Reviewed-by: Simon Hausmann commit c2081016ecc894563f19d3e6bfdc7501aa23fe91 Author: Fabian Kosmale Date: Mon Mar 9 09:53:30 2020 +0100 Avoid unloading plugins which register types to prevent crashes Plugins could register an arbitrary number of types in arbitrary places with qRegisterMetaType. This would lead to crashes when the plugin is unloaded, as the type registry would hold stale references to their QMetaTypes. By not unloading the plugin, the metatypes are kept safe in memory. [ChangeLog][QML][Important Behavior Changes] When writing a QQmlExtensionPlugin which procedurually registers types, you should overload the newly introduced unregisterTypes function, if you want to support unregistration with qmlClearEnginePlugins. Additionally, the destructor of your plugin should not contain any logic. Change-Id: I63b7a153f82be7996dbfca4d36f279c351dc6b9e Reviewed-by: Ulf Hermann commit f3dccc334f01d088fcdf1c2016c8153fe6154b61 Author: Olivier Goffart Date: Tue Jan 7 11:37:01 2020 +0100 Adapt to the the new QMetaType change Fixes: QTBUG-82453 Change-Id: I7e5682945a07c3af183becd3947a69568f139d16 Reviewed-by: Fabian Kosmale commit f65c0e7190c4f2ebcadc963cf0647c71de26f3bb Merge: 433f5be47b d51d5ff3c1 Author: Qt Forward Merge Bot Date: Mon Mar 9 01:00:06 2020 +0100 Merge "Merge remote-tracking branch 'origin/5.15' into dev" commit 433f5be47b8245e955bad5a4d3cfcc38354ce62a Author: Qt Submodule Update Bot Date: Thu Mar 5 19:18:16 2020 +0100 Update dependencies on 'dev' in qt/qtdeclarative Change-Id: I35bc7c53c80a65fad488f4a734ebb747d338d29d Reviewed-by: Simon Hausmann commit d51d5ff3c187821929cf7b765e037423bcc90466 Merge: eacb1a08ee 12ddd8da1b Author: Qt Forward Merge Bot Date: Mon Mar 9 01:00:06 2020 +0100 Merge remote-tracking branch 'origin/5.15' into dev Conflicts: src/qml/compiler/qqmlirbuilder_p.h src/qml/qml/qqmlpropertycachecreator_p.h src/qmltyperegistrar/qmltypesclassdescription.cpp src/qmltyperegistrar/qmltypesclassdescription.h src/qmltyperegistrar/qmltypescreator.cpp src/quick/items/qquicktext_p.h src/quick/util/qquickvaluetypes_p.h Change-Id: Ic209741592e7b85820bf3845722023a190ebc1c5 commit 12ddd8da1b2dcfbbca10a6915547456601a726c0 Author: Simon Hausmann Date: Fri Mar 6 11:11:32 2020 +0100 Avoid using deprecated QTabletEvent::device() That member was removed in qtbase dev. Change-Id: Ia2e69ee53e154fdb9b8b4c707ac5a463011cf0c1 Reviewed-by: Shawn Rutledge commit eacb1a08ee4dace7c12a6eed153b9ec69cf95966 Author: Edward Welbourne Date: Fri Feb 28 15:28:39 2020 +0100 Stop using Qt::DateFormat's locale-dependent members They're going away on dev. Amended tests to match. Task-number: QTBUG-80441 Change-Id: I00540d2f7a796ae9c080a0fb9f144c145f00ad57 Reviewed-by: Simon Hausmann Reviewed-by: Qt CI Bot commit c49043ea9bfaca57e1203c0959bc646bd861845e Author: Simon Hausmann Date: Wed Mar 4 12:08:39 2020 +0100 Use static_assert to "protected" QMatrix4x4 accessor The size in qtbase had changed but this went by unnoticed because it only failed at runtime and in the CI the first failing build had assertions disabled. Change-Id: I8891d0a1d0d306629b23eba042ce367cfdb64dfa Reviewed-by: Laszlo Agocs Reviewed-by: Fabian Kosmale commit d147b99f753aab42f29cd069b5f028e3f354751e Author: Tasuku Suzuki Date: Fri Feb 28 03:26:25 2020 +0900 Fix build without commandlineparser and temporaryfile qmltyperegistrar uses QSaveFile which needs features.temporaryfile Change-Id: Ib64eb2d357ee5e75f12f81f15bbe4969d4d96872 Reviewed-by: Ulf Hermann commit 6381f6c87ff3eb3e15ba62f58a5393ce9026b99f Author: Fawzi Mohamed Date: Tue Mar 3 16:45:44 2020 +0100 Remove duplicate add of qqmljsengine_p.h to HEADERS in parser.pri Change-Id: I6848575df79be5f84e55e1e9ae9282216424afeb Reviewed-by: Simon Hausmann commit 3d31661447562537b35094d306de26d49d8bc8a5 Author: Fawzi Mohamed Date: Tue Mar 3 14:42:55 2020 +0100 Get rid of extra space Change-Id: I11e5c9e95974e89f2fd1571ca4b97a0f2ac3309a Reviewed-by: Fabian Kosmale Reviewed-by: Simon Hausmann commit 04e3918f0fd0c19ed830d406e1c549a037089cc4 Merge: b760d97245 254a562528 Author: Qt Forward Merge Bot Date: Tue Mar 3 01:00:05 2020 +0100 Merge remote-tracking branch 'origin/5.14' into 5.15 Conflicts: src/qmlmodels/qqmltableinstancemodel.cpp src/qmlmodels/qqmltableinstancemodel_p.h Change-Id: I89339b1cb41ba27fe30c79530859a1c2bfbecc69 commit 254a56252874b63430701351dcd8c9bef8507353 Author: Wang Chuan Date: Wed Feb 26 21:14:50 2020 +0800 QQuickItem: prevent endless loop in focus tab chain 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 Reviewed-by: Liang Qi Reviewed-by: Shawn Rutledge commit b760d972459fd3b0c41e4c85076fa933ba5c0d1d Author: Jean-Michaël Celerier Date: Sun Mar 1 15:14:34 2020 +0100 Fix building qtdeclarative without QMovie support Change-Id: Id8e8b04e722bd9fc84b6b78530f75cf8d6d96da7 Reviewed-by: Ulf Hermann Reviewed-by: Shawn Rutledge commit 9e2aa53c14b007fe26d30b63926d343fe5ffed7d Author: Ulf Hermann Date: Mon Mar 2 17:16:54 2020 +0100 qmltyperegistrar: Mark non-QObject types as uncreatable qmlplugindump does so, and in fact they are uncreatable. Also, make qmlTypeRegistrationMode() more robust. Each classDef should really either be an object, a gadget, or a namespace. Change-Id: If39bbbf6f9a4fdb269d095ca10d60ad5d87ca62d Reviewed-by: Shawn Rutledge Reviewed-by: Simon Hausmann commit 744246b1129f6042c0264eb578a6e5c86e09f80a Author: Edward Welbourne Date: Tue Feb 25 16:10:40 2020 +0100 Use Qt::SplitBehavior in preference to QString::SplitBehavior 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 commit 8ab237edf170f5b0482dccf5169868e5c7c47771 Author: Simon Hausmann Date: Thu Feb 27 10:49:14 2020 +0100 Restore offset/length in QQmlJS::DiagnosticMessage 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 commit d8f6f41c334d14c4712b1dc16554f80bb1290e24 Author: Jan Arve Sæther Date: Wed Feb 26 09:35:10 2020 +0100 Deprecate non-const version of saveToFile() It will be removed in Qt 6 Change-Id: I7d8853ce3008bb2c594caa5a23e2964158717fe4 Reviewed-by: Shawn Rutledge commit 8319597ae30219c71aef9d2086e8e8294802686c Author: Jan Arve Sæther Date: Tue Feb 25 16:42:15 2020 +0100 Properly deprecate QQuickText::doLayout() and get rid of it for Qt6 It was only deprecated through its documentation. Change-Id: I0b7bdeec4ed965c3df627a03ab0e539c4e9c2018 Reviewed-by: Shawn Rutledge commit e0bbea53f92648e004b162428e36dcdd8cf95cf1 Author: Timur Pocheptsov Date: Fri Feb 28 11:15:01 2020 +0000 Revert "error -> networkError to fix deprecation warning" This reverts commit 391bd68b4045268b389780f4b08d2f07951b45bf. Reason for revert: this warning is only temporary, the patch fixing it - is coming. But the original change of error->networkError was reverted in 5.15 to make the new patch, changing signal name instead, work. Now qtdeclarative does not compile - it calls non-existing function. Change-Id: I276562564c8954f67dcdf4fd5d08afd5f3f9dc8b Reviewed-by: Topi Reiniö Reviewed-by: Ulf Hermann commit 46162c304195db2376706f2e1a9da2b2c938e97b Author: Ulf Hermann Date: Wed Feb 19 14:00:46 2020 +0100 QQuickTableView: Immediately delete delegates when possible In the dtor we don't need to care about any side effects a direct delete may have. Rather, any deleteLater() may not take effect anymore as the event loop may be gone already. Task-number: QTBUG-82000 Change-Id: I97935dc47fbbfd0c050e80c333c36a05f685c45d Reviewed-by: Joni Poikelin Reviewed-by: Simon Hausmann Reviewed-by: Ulf Hermann commit 391bd68b4045268b389780f4b08d2f07951b45bf Author: Fawzi Mohamed Date: Thu Feb 27 12:05:32 2020 +0100 error -> networkError to fix deprecation warning Change-Id: I80d518a1b21185baba0d4934ebf486809e086f9f Reviewed-by: Ulf Hermann commit 48deaf9a3e323181662d3c031dbe3c729ecc2bee Author: Tasuku Suzuki Date: Thu Feb 27 21:49:19 2020 +0900 Fix build without features.settings error: static_assert failed due to requirement 'bool(-1 == 1)' "Required feature settings for file [snip]/qsettings.h not available." QT_REQUIRE_CONFIG(settings); Change-Id: I0759f884531179ed5f625f21c5559389aef5c4ad Reviewed-by: Ulf Hermann commit 2b5e0f90112fe85872894fb16e811203d4d3671f Author: Ulf Hermann Date: Mon Feb 17 15:30:54 2020 +0100 V4: Fix mark stack overruns Instead of applying a heuristic on when to call drain() in unrelated code, we check the stack limit on each push(). If the soft limit is reached we try to drain. As drain() itself can push again, we try to limit the stack size by allowing at most 65 recursions of drain(). If none of that helps, we crash with a meaningful error message. This allows us to remove all the hacky drain() calls in other parts of the code. Change-Id: Ib979339470da0e85981de8131e7997755b757c71 Reviewed-by: Simon Hausmann commit 40f2dbd5557da2103e03a3fb7682bbfda3ffd122 Author: Ulf Hermann Date: Thu Feb 27 09:27:40 2020 +0100 QQmlDelegateModel: Avoid use-after-free The iterator may be invalidated by addCacheItem(). We can retrieve the relevant properties before, though. Change-Id: Ia3bbc50d16a7563097239177a75c9e2eab777a33 Reviewed-by: Fabian Kosmale Reviewed-by: Simon Hausmann Reviewed-by: Shawn Rutledge commit 83fdcbf3be0ddbbee1fd2c8c9ff1a4e3c707e3f0 Author: Ulf Hermann Date: Tue Feb 18 15:16:54 2020 +0100 QQmlTableInstanceModel: Fix refcounting of metatypes The reusable items pool should only hold unreferenced objects. Therefore, we can immediately delete them when draining. release() is not suitable here because it unconditionally decreases and therefore underflows the refcount. Furthermore, the metatype is also refcounted, which means we should keep it in a QQmlRefCounter in order to not leak references. Task-number: QTBUG-82000 Change-Id: Iefdaaecc34342eb2e3b1e5a3281f2e46ac472347 Reviewed-by: Joni Poikelin Reviewed-by: Simon Hausmann commit 8dd18850714b9a8e7a51891a2c48f8ca94ffe014 Author: Ulf Hermann Date: Tue Feb 25 13:32:55 2020 +0100 Revision properties and methods added in 5.15 Change-Id: I00e3f9535e819d9d0d547c9d3cf50be469cf9339 Reviewed-by: Fabian Kosmale commit 98d088d6e31c6c1bafea5674c9003d846b572680 Author: Jan Arve Sæther Date: Tue Feb 25 16:21:05 2020 +0100 Remove deprecated PinchHandler.m{in,ax}imum{X,Y} for Qt 6 Change-Id: Id941d7dc6b6ce9207db09cf4790f4401515dbda5 Reviewed-by: Shawn Rutledge commit 63aee8b66712601b6c34e4f2df99614f2d092c9d Author: Ulf Hermann Date: Tue Feb 25 15:28:46 2020 +0100 Add revision to QQmlTypeNotAvailable Change-Id: Ic5ce3c50a4a7e43c7d3ba6b105de3ed08021227b Reviewed-by: Shawn Rutledge commit d832a67b9d9500fc19c7e6607f2f2f594b1d4bdc Author: Ulf Hermann Date: Tue Feb 25 15:00:21 2020 +0100 Move dependencies.json files into the right places The workerscript and models qmltypes are built from the library directory, the testlib qmltypes are built from the plugin directory. Change-Id: Ifc497aaf8204616ca817ee08ad86383ab2cbbdae Reviewed-by: Fabian Kosmale commit a4b25aa3c16ba9ce6e2821e591f7c35bf675d961 Author: Ulf Hermann Date: Tue Feb 25 11:20:07 2020 +0100 qmltyperegistrar: Correctly collect attached types Their revisions were missing from the qmltypes. Change-Id: Iec7a5ad1c56135c761f6a1fe66904cf25d039850 Reviewed-by: Fabian Kosmale commit bbe3f976c3426fea5dd305feff79288b9719fcd5 Author: Ulf Hermann Date: Tue Feb 25 11:14:36 2020 +0100 Export QQuickRootItem to QML It was exported in 5.14, so we should probably still do so. Change-Id: Id44783c72fff50aee63d7c5a72f12ff9ca895a6b Reviewed-by: Fabian Kosmale commit 11ff5c314682258b6eb26e90847210662eb0f533 Author: Ulf Hermann Date: Wed Feb 12 17:49:31 2020 +0100 Provide a way to statically register namespaces Previously, qmltyperegistrar would stumble over any QML_* macros in namespaces, as the namespaces could not be used as template arguments. However, namespaces are intended to be usable by QML as uncreatable "types". Now, qmltyperegistrar checks the namespace flag that moc records in the JSON output, and if that is given, registers an uncreatable metaobject instead of a type. Therefore you can use QML_ELEMENT and friends to register namespaces, just like you would register classes (except that they're implicitly uncreatable, of course). Task-number: QTBUG-68796 Change-Id: I186d7e9425471c32fb1a1f29c0c0b946afb2a9d2 Reviewed-by: Fabian Kosmale commit 94901065ddd0c0c65e0db7c2151c0eb9eb3f64c5 Author: Fabian Kosmale Date: Tue Feb 25 09:33:15 2020 +0100 QQuickColorSpaceValueType: Version import Change-Id: I9396157f4b85ac075343426b22fff98b436e80d6 Reviewed-by: Ulf Hermann commit 8dcd51b63d26fcac466d80dc90942ae2cf3b4f4e Author: Timur Pocheptsov Date: Mon Feb 24 17:26:41 2020 +0000 Revert "Replace call to deprecated QNetworkReply::error method" This reverts commit e5a4ba4a5573ace08def218b985dde83de0805fb. Reason for revert: it was decided to re-name a signal instead, like it's done in QProcess. Change-Id: I0f393c482d8be506430258d7afd4a0056611831f Reviewed-by: Mårten Nordheim commit deb74c609e066b0efd73d1adbc6077e6ca7d8c45 Author: Ulf Hermann Date: Mon Feb 24 09:41:22 2020 +0100 Fix build with -no-feature-network Fixes: QTBUG-82418 Change-Id: Ibceeefed75941d963e6b79b44e9231d0d8053221 Reviewed-by: Simon Hausmann commit c3a9b379bbeb1dfd406470712aad7157cf264059 Author: Ulf Hermann Date: Thu Feb 20 15:11:22 2020 +0100 Provide the labs imports also under QT_VERSION Now that they all have QML_ADDED_IN_VERSION we can allow the user to import them also under a later version without losing compatibility. Task-number: QTBUG-71278 Change-Id: I74b9c758ec37ef41e1a53873266df0eeebfcabc7 Reviewed-by: Shawn Rutledge commit b3ff342d327dc00d99281dca4fbfe6c4300aa6c6 Author: Ulf Hermann Date: Thu Feb 20 16:00:05 2020 +0100 Revert "QQuickItemView: do not set parent to nullptr upon destruction" This reverts commit 5445fcac36d7122d533a2bdf0fcfe6206b7f3ff4. The original commit avoids a warning generated for a dubious use case and breaks controls2 in a non-trivial way as a side effect. We should rather live with the warning. Task-number: QTBUG-82368 Change-Id: I6197bb63036cb25ec3e88f549667519b8f3ff13a Reviewed-by: Mitch Curtis Reviewed-by: Fabian Kosmale commit f6808f89a8c17e046f53b0bb5ff36cd9e24e9772 Merge: e33e250080 5054bb49a8 Author: Qt Forward Merge Bot Date: Fri Feb 21 01:00:10 2020 +0100 Merge remote-tracking branch 'origin/5.15' into dev Conflicts: tests/auto/quick/qquickmousearea/BLACKLIST Change-Id: I3de2c6377d57f5f9204d2cfc688d50a7a0b4150c commit 5884c214dce3d5c1f5d21f63e60d6a9e0dfdacfa Author: Ulf Hermann Date: Thu Feb 20 15:21:08 2020 +0100 Avoid cast from ASCII to QString The previous attempt to fix this was lost in a merge resolution. Change-Id: I0638c434543d231352c44687b06bf429b7be7a04 Reviewed-by: Fabian Kosmale commit aa20222e840fe328b2a5db8d71ec909c1606f838 Author: Ulf Hermann Date: Thu Feb 20 13:18:00 2020 +0100 Tools: Convert to static type registrations qml and qmltime were still using qmlRegisterType() for some internals. Let's get rid of those. Change-Id: I68c0e7213f3b5b28670364c4db1cdec41d299b7d Reviewed-by: Fabian Kosmale commit 78fd438f158839ffebcd52cc7974eac28489dbdd Author: Fabian Kosmale Date: Thu Feb 20 10:36:37 2020 +0100 QV4Engine: Avoid memory leak in toVariant conversion Change-Id: I2c713fd759ac40aaaac0c0943edb993d3e27686b Reviewed-by: Ulf Hermann commit ea0956ccad5faab85f828279d500caedb07efac3 Author: Fabian Kosmale Date: Thu Feb 20 10:18:10 2020 +0100 Inline component: Avoid even more leaks Amends d4f3445bb050bbc34f0e86832fca9b7047041c1e Change-Id: I1071577529c2db6937affb3fd3087fec75917e8a Reviewed-by: Ulf Hermann commit 6b67a538336112671c3512509c7a0c9031732e37 Author: Fabian Kosmale Date: Thu Feb 20 09:55:41 2020 +0100 Inline components: do not leak context Change-Id: Ic738f3ea8f91cf2ffc7fb86ad9f72c0d630b6de8 Reviewed-by: Ulf Hermann commit 1c7d264e3b2e9a2f0021786ea6967185f8282af0 Author: Samuli Piippo Date: Fri Jan 24 09:34:19 2020 +0200 Use correct default install dir for qml files Change-Id: I26b89d0e172465de3df36ffb0b2ea92975e99a2a Reviewed-by: Leander Beernaert Reviewed-by: Alexandru Croitor Reviewed-by: Liang Qi commit 9e5376327fb258e1c0207c2d6b6a2f9254f5b3ee Author: Dmitry Shachnev Date: Wed Feb 19 17:17:59 2020 +0300 Escape url.toString() before passing it to QRegularExpression Otherwise the test fails when path contains special characters like ‘+’. Change-Id: I461d9755436148ce979284be31ef8d204235c8a4 Reviewed-by: Ulf Hermann commit 87d9234d71122f0332c37c81ca0338ddcda7eeba Merge: add46fd905 9b5bd48fc6 Author: Qt Forward Merge Bot Date: Thu Feb 20 01:00:07 2020 +0100 Merge remote-tracking branch 'origin/5.14' into 5.15 Change-Id: I024445b3401a57040d7d67780ea32d2f8b02f41a commit add46fd9055088e6aa458f21558234e267eb60ca Author: Fabian Kosmale Date: Tue Feb 18 09:20:13 2020 +0100 ResolvedList: attempt read from correct meta object Fixes: QTBUG-82171 Change-Id: If14b10d703aa1b69cd697024ada2fae0453103d7 Reviewed-by: Ulf Hermann Reviewed-by: Aleix Pol Gonzalez commit e33e250080dbbb01015daafc8a79b569806d9467 Author: Ulf Hermann Date: Fri Jan 17 10:46:54 2020 +0100 Fix all import versions Bump all the *.15 versions to QT_VERSION and use QML_IMPORT_VERSION rather than IMPORT_VERSION. Change-Id: I5bfbc960d119a7386bdcedb9bdbfdbfa4486a187 Reviewed-by: Fabian Kosmale Reviewed-by: Mitch Curtis commit ddde036f6a5781dc0481fae293bd387b3344171a Author: Ulf Hermann Date: Thu Jan 16 13:42:11 2020 +0100 Add major version to all Q_REVISIONs Change-Id: Id72fbe10c16de61bd847773d0055d83cfe03f63c Reviewed-by: Fabian Kosmale commit d4f3445bb050bbc34f0e86832fca9b7047041c1e Author: Fabian Kosmale Date: Tue Feb 18 12:44:24 2020 +0100 Avoid memory leaks for inline component types When a QQmlType is constructed from a QQmlTypePrivate, the latter's refcount is incremented. We decrement it again, as the QQmlType should be its sole owner. Change-Id: Id6ab618e06b49c10e3888c694113536caed7f058 Reviewed-by: Ulf Hermann commit 2eb5b3f5c5f32404b8cb4ebb1d65ed5d5781b9f3 Author: André Klitzing Date: Wed Feb 19 15:10:36 2020 +0100 Fix broken -no-qml-debug 4975a33ba9aa357ba2bca93e292b1fbcfb34c24e introduced QQmlDebugTranslationService. If -no-qml-debug is provided the dummy class misses "public:". qml/qqmlbinding.cpp:401:54: error: 'virtual void QQmlDebugTranslationService::foundTranslationBinding(QQmlTranslationBinding*, QObject*, QQmlContextData*)' is private within this context Change-Id: I0f4ebd4d935a17aa7a679d2d87d98d03b0e1fcbb Reviewed-by: Tim Jenssen commit 9b5bd48fc652a7dd47c545db8338a580592f7f35 Author: Ulf Hermann Date: Tue Feb 18 15:20:38 2020 +0100 QQmlAdaptorModel: Don't const_cast to call release() release() is const. Change-Id: I00171af75151741e725cd2ceaa80afcaac4f62a3 Reviewed-by: Fabian Kosmale commit 440d699f83ab2a9676744755fd8d42c1cfeb8064 Merge: 872dc18e65 d89dde522a Author: Qt Forward Merge Bot Date: Wed Feb 19 01:00:06 2020 +0100 Merge remote-tracking branch 'origin/5.15' into dev Change-Id: Ia15cd13ed7014db80e02ba8b7e0588e3c53f832c commit 01284467e610552e041c6960da4fd4bb7c1cbc7e Author: Fabian Kosmale Date: Mon Feb 17 16:56:03 2020 +0100 QQmlPropertyCacheCreator: initialize member Change-Id: I28f32dd5fd3cf228195a2bdd5df0209646407775 Reviewed-by: Ulf Hermann commit 8a656c0a4b21fbc9180e98279d4fade78d6dab7e Author: Fabian Kosmale Date: Tue Feb 18 09:35:21 2020 +0100 QQmlType: Do not dereference pointer if null This can occur when attempting to access invalid attached properties (e.g. tst_qmllanguage/invalidAttachedProperty.6.qml) Change-Id: Id562e2b21fccd8d123a5859d7cc547d098c1ab78 Reviewed-by: Ulf Hermann commit 3ffc6cc6f1eed59101efd6b0af8f539927688712 Author: Ulf Hermann Date: Mon Feb 17 14:15:42 2020 +0100 Remove some dead code Change-Id: I57fed47c0a98d561165d319b93320e0af71c08a3 Reviewed-by: Fabian Kosmale commit 9316bbf34aa80ab526bf644e39cfe42c9e08dba3 Author: Ulf Hermann Date: Tue Feb 11 11:16:27 2020 +0100 QQmlPropertyCache: Don't populate allowed revisions with invalid ones Change-Id: I1d39c9fc792bdb0240bfe12ad020ce4c8bb48454 Reviewed-by: Fabian Kosmale commit 3e758800b4daf8fbc870a2ff5d54fce9d4402ce8 Merge: 925a0e499a 55546991e2 Author: Qt Forward Merge Bot Date: Mon Feb 17 01:01:00 2020 +0100 Merge remote-tracking branch 'origin/5.15' into dev Conflicts: src/imports/qtqml/plugin.cpp src/qml/qml/qqml.h src/qml/qml/qqmlmetatype.cpp src/qml/qml/qqmlmetatype_p.h src/qml/qml/qqmltypeloader.cpp src/qml/types/qqmlbind.cpp src/quick/items/qquickitemsmodule.cpp tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp Change-Id: I52548938a582cb6510271ed4bc3a9aa0c3c11df6 commit fa8cb43a7e90d1bf54c0dcc76ab41c537afc6e88 Author: Kai Koehne Date: Fri Feb 14 17:13:30 2020 +0100 Windows: Do look for d.dll as a fallback Do look for d.dll as name of the library, even if Qt was built in release mode. This mitigates the change we did in Qt 5.14.0, where we switched the way our MinGW builds are configured from -debug-and-release to -debug -force-debug-info. But it is also more consisten in how we handle the release build, and macOS dylib loading. Fixes: QTBUG-81021 Change-Id: I73cd11941d86a732b92a3479d47b6e83a839994f Reviewed-by: Ulf Hermann commit 751e92d50a23d1273af42a7a7836bb2eb336eced Author: Ulf Hermann Date: Thu Feb 13 19:03:40 2020 +0100 V4 Debugger: Properly set up context object for expressions We need to use the object in question as context object in order to access its properties. Otherwise we can only access the context properties and, incidentally, the root scope's properties. The latter is why the test didn't fail. Fixes: QTBUG-82150 Change-Id: I1f18f9e78dd61786310fd75e0695929522a4c90c Reviewed-by: Simon Hausmann commit d5a5e9dcd594e2d2f3dbb05fdb0baf56cc50774d Merge: 229e3220ef ac0ce38dcf Author: Qt Forward Merge Bot Date: Thu Feb 13 01:03:07 2020 +0100 Merge remote-tracking branch 'origin/5.14' into 5.15 Conflicts: src/qml/jsruntime/qv4engine.cpp Change-Id: I61f41672e2dfe7e542ca30fed5f173d0a9ee3412 commit 229e3220ef521dd4389808fd311ea5ae33ab0cae Author: Fawzi Mohamed Date: Tue Feb 11 16:32:04 2020 +0100 qmlformat: preserve annotations Change-Id: I22e72d91f6d422e93a7ebc642a8449cb490aec20 Reviewed-by: Ulf Hermann Reviewed-by: Maximilian Goldstein commit 41e8f8a7c6aa4a530abdbc52f8014c4563e85417 Author: Fawzi Mohamed Date: Tue Feb 11 16:13:36 2020 +0100 Add UiAnnotation for annotation objects This is a partial patch that is fuilly fixed with the following one (big restructure) because it needs extra visit methods, and that leads to conflicts, but I think it gets lost if merged with the next one. Change-Id: I54331a47a5c7faaf78a97e580825d1feec5adf92 Reviewed-by: Ulf Hermann commit c2e756dc1962eeb3575f618b38272359d4fccc89 Author: Fawzi Mohamed Date: Tue Feb 11 16:22:12 2020 +0100 Introduce BaseVisitor Base Visitor is an abstract visitor that has all visit methods abstract, subclassing this one gets an error if some visit method is not implemented (dumper and reformatter for example will gain from this. Change-Id: I3f8cfeb6fc0ef917acf725bbe1c293d761304287 Reviewed-by: Ulf Hermann commit 7f7bf177f41d7824aecee9f046a8a63ef4d82521 Author: Ulf Hermann Date: Fri Feb 7 13:45:07 2020 +0100 Provide a macro for qmlRegisterTypeNotAvailable That is, register QQmlTypeNotAvailable as foreign type under the name given as parameter. Also, statically register QQuickAnimatedImage as unavailable in case of !quick_animatedimage and register it for the right version. Task-number: QTBUG-68796 Change-Id: I2ea292d2aeda66d8ce43b3bccbd3d21663330bd6 Reviewed-by: Simon Hausmann commit 8791fc19f04d51d1efc077205e39a11047e732b5 Author: Fawzi Mohamed Date: Mon Feb 10 13:15:37 2020 +0100 Added AstDumper: better describe and compare AST trees This is just added to the test sources (via tests/auto/shared/astdump.pri) Fixes: QTBUG-81819 Change-Id: Icc70e6f7a6ded9e9957c6d4151f696be34c942e6 Reviewed-by: Fabian Kosmale Reviewed-by: Ulf Hermann commit a2b31f073530f61203fe0e9799ad158c4fe6b9f9 Author: Ulf Hermann Date: Tue Feb 11 19:15:59 2020 +0100 Add a static variant of qmlRegisterInterface() qmlRegisterInterface() should not be called procedurally, for the same reason that qmlRegisterType() should not be called procedurally. Also, add URI and major version parameters to qmlRegisterInterface(), and deprecate the typeName parameter. We want to identify which import an interface belongs to. Task-number: QTBUG-68796 Change-Id: Iba3d66e5ce6219b30aadba34396f12fca92f35a7 Reviewed-by: Fabian Kosmale commit 2fae1d7e8f0bd6619c560fed65ce8507664dacb9 Author: Ulf Hermann Date: Wed Feb 12 10:42:24 2020 +0100 Allow dynamic and static registration of same URI in any order Previously, a static registration would not go through if a dynamic registration was carried out before the first type of the statically registered module was referenced. Change-Id: Icf6a2b78dff7d0e5b29138501e04723510d6a668 Reviewed-by: Fabian Kosmale commit bc3700d7468d90210b9080732914343674b97fd7 Author: Ulf Hermann Date: Wed Feb 12 13:01:28 2020 +0100 Add uri and version parameters to qmlRegisterExtendedType() We want to know which module a registration belongs to, even if the type is uncreatable. Change-Id: I8c417eeca2c0bfa186df43edc0c2f455ed0880e6 Reviewed-by: Fabian Kosmale Reviewed-by: Maximilian Goldstein commit 731c85c2a42d7398a0319df5b8d0b465d118ba0d Author: Fawzi Mohamed Date: Mon Feb 10 18:03:04 2020 +0100 Put Ui visitors together UiRequired is not with all Ui Vistors and introduced with a // Ui comment. Move it there for consistency. Change-Id: I51315ad380fd50998e7efe095c873d14a5ae7a97 Reviewed-by: Ulf Hermann Reviewed-by: Fabian Kosmale commit cc918272bb5d329d42905713925a59a1513120f2 Author: Fawzi Mohamed Date: Mon Feb 10 17:55:13 2020 +0100 Avoid cast from ASCII in qv4engine warning message Change-Id: Idb48122c4e7e294de820cd40036d7a6537ea2cac Reviewed-by: Ulf Hermann Reviewed-by: Fabian Kosmale commit 2b31d84cc06cc70e753f91a9a4fef3b22c6de62b Author: Fawzi Mohamed Date: Thu Feb 6 14:25:34 2020 +0100 Remove unused AST::ModuleItem ModuleItem is unused we should either remove it or make it a used abstract superclass like UiObjectMember. Here we remove it. Change-Id: Icfcebd450e09ebe324a99728613eea0348b980ac Reviewed-by: Fabian Kosmale commit 1249761a341ea2cd959a311d9a6523a3e9936887 Author: Fawzi Mohamed Date: Thu Feb 6 14:23:00 2020 +0100 Make UiObjectDefinition uniform attributes are always at the end of AST objects, move them there also for UiObjectDefinition. Change-Id: I7630b1c40627913c3e7e46e752acf1d80203ce63 Reviewed-by: Fabian Kosmale commit 9b1dc349a58f82d130feb73dcd30f3766c924d20 Author: Fawzi Mohamed Date: Thu Feb 6 14:20:16 2020 +0100 Mark non visited AST parts Add a commented out accept call for the non visited fields in accept0 Change-Id: Icb1ab0c77440f4c3eae5404bff2cf71086f96a2f Reviewed-by: Ulf Hermann commit 87f5cc385b670a63c2f2ba0ef90cba95ab215200 Author: Fawzi Mohamed Date: Thu Feb 6 14:15:09 2020 +0100 Add annotations to AST Annotations are added to UiObjectMember. This makes it easy to find the annotations of any UiObjectMember through the annotations attribute. The clean AST approach would add an UiAnnotatedObjectMember that contains both the annotation list and an UiObjectMember, but that makes finding the annotation more difficult. The annotations are not visited by default, if one wants to dump them before the current object the simplest way is to use the preVisit and use .uiObjectMemberCast(). Depending on how we use annotation we could change the current approach. Task-number: QTBUG-81714 Change-Id: I543a2cfe5157bcc86de6de9faebde9aea22974eb Reviewed-by: Ulf Hermann commit a363aa3df44da399d2aeb8785608501eae50e600 Author: Ulf Hermann Date: Tue Feb 11 14:44:28 2020 +0100 QQmlCustomParser: Resolve import namespaces Also, don't use plain QObject for testing registrations with extensions and foreign types. This interacts with other tests. Change-Id: I43df8a4e5b22def5a87f508130f1c7b4833ecfb6 Fixes: QTBUG-81970 Reviewed-by: Simon Hausmann commit 2f4c131805f4009f42abe991e0f92f096bbc55fd Author: Fabian Kosmale Date: Tue Feb 11 11:21:03 2020 +0100 Fix QQmlProperty and Connections for properties starting with '_' We do a weird renaming for the change handler of properties starting with '_', now we do it at least in a consistent way. Fixes: QTBUG-82017 Change-Id: I1535a5ee462f3a344c972461f1fb954f039aa854 Reviewed-by: Simon Hausmann commit dba4e7dae4c08ff08fbf1858e8bc5cc2b4cbb553 Author: Simon Hausmann Date: Mon Feb 10 16:32:56 2020 +0100 Fix QQmlObjectModel::destroyingItem emission The signal is used to tell the view that the item is definitely going away. For the "view" based QQmlObjectModel that is almost never really the case, except - oddly - for clear(). The view is typically a QQuickItemView, which casts the item to a QQuickItem and calls setParentItem(nullptr). That in turn is caught by QQuickContainer, which calls remove() on the QQmlObjectModel. That is why remove() can't emit destroyingItem(). Amends 6d0a453f41d304239285d64b06612c36922be701 Change-Id: I5d82def872550744b947b4b53447647327e03f67 Reviewed-by: Ulf Hermann commit c915ac23d9a460070ab4e4f8417df9db461c537c Author: Fabian Kosmale Date: Mon Feb 10 16:25:47 2020 +0100 QQmlEngine: Test that types are correctly removed Amends 4f0c9986069c690e8ed7a7d2b42dfbce5c492368 Change-Id: I10a0d7988e1f5a003ccc80faa5b5c9bda62359cd Reviewed-by: Simon Hausmann commit 4f0c9986069c690e8ed7a7d2b42dfbce5c492368 Author: Fabian Kosmale Date: Mon Feb 10 09:54:35 2020 +0100 Fix QML type unregistration When the QQmlEngine gets destroyed, it unregisters all previously registered composite types. So far it only removed them from Qt's metatype system. This is however not enough, as the types also need to be removed from the global qmlLists datastructure. We achieve this by calling QQmlMetaType::unregisterInternalCompositeType. Task-number: QTBUG-81772 Change-Id: Iba124c890bc4613ffbb110003d74fe3a912f8df6 Reviewed-by: Simon Hausmann commit 19cc92d170eaba83812be2abda15348ecfa2f072 Author: Fabian Kosmale Date: Fri Feb 7 09:57:02 2020 +0100 QV4Engine: Do not construct invalid QVariant If the provided typeHint is -1, it does not make sense to construct a QVariant of this type and to check whether it is appendable. Fixes: QTBUG-81945 Change-Id: I32cbb9e70e210a7eca8d55801c1783338d1173b7 Reviewed-by: Ulf Hermann commit 3c2439593460d665dcf64622afae4eb91993eb10 Author: Thomas Hartmann Date: Thu Jan 30 15:54:09 2020 +0100 Add QML_CORE_PROFILE support to QML tool If QML_CORE_PROFILE is defined we use the CoreProfile surface format. This is required for QtQuick3D. For consistency we also introduce QSG_CORE_PROFILE. Adding QSG_CORE_PROFILE also to qmlscene. Change-Id: I4feee91740162cf36fa2668695b74f5a1279bb89 Reviewed-by: Laszlo Agocs commit 5af5015b0c600bd49eecd0782193974ad9405107 Author: Ulf Hermann Date: Wed Feb 5 18:49:39 2020 +0100 QQmlTypeLoader: Prevent further trivial cycles We can also detect cycles in the WaitingForDependencies stage, not only in the ResolvingDependencies stage. This is hard to test as the order of state transitions depends on thread scheduling. Also, do output a warning in those cases. Cyclic dependencies are bad style. Fixes: QTBUG-81678 Change-Id: I11f1a993afa29e4f2d6c71bb3379786d666a527a Reviewed-by: Mitch Curtis Reviewed-by: Fabian Kosmale commit 6ba3dc8d489be0058d8ca6349ac19b0857247b17 Author: Ulf Hermann Date: Tue Feb 4 12:06:49 2020 +0100 Models: Make sure we can use QList as required model We can use it as model passed via a context property as shown in the objectlistmodel example. We should also be able to pass it directly then. commit 4975a33ba9aa357ba2bca93e292b1fbcfb34c24e Author: Tim Jenssen Date: Fri Jan 24 11:26:06 2020 +0100 QmlDebug: add new debugtranslationservice Users were asking for having the possibility to see where the translated text will not fit in the reserved/available space. This is more a preparation patch to get the right connectors to change the visualization of findings or maybe log this to a file. Task-number: QDS-1463 Change-Id: Ic0a7a930141d6eeb79964e51c0a165c69888cf5d Reviewed-by: Ulf Hermann commit 9dccec88e3394d9d2dc52812d9607f0bfa01a2d2 Author: Fabian Kosmale Date: Wed Feb 5 08:50:37 2020 +0100 Inline components: fix name resolution Inline components are an explicit component boundary, and therefore need some extra treatment. Change-Id: I03cc0d58f3565999f64675e8482ed3c3a325e8c0 Reviewed-by: Simon Hausmann commit a8bc011d459a4d080815a2675f2a0413c8bf09d2 Author: Fabian Kosmale Date: Tue Feb 4 08:31:10 2020 +0100 QV4: Handle value tyes in sameValue algorithm The sameValue(Zero) algorithm were implemented according to the JavaScript specification; however QML has the concept of value types. For those we need to check equality with the intrinsic isEqualTo method. This aligns sameValue(Zero) with strict equality in its treatment of value types. This fixes Array.includes for value types Fixes: QTBUG-81825 Change-Id: Idd3e09cbed94bca6ea44f5683610b87d184e432c Reviewed-by: Ulf Hermann commit ac46c9f6ce9ef757e0ccba8a283cb0efabaef56e Author: Ulf Hermann Date: Fri Jan 31 16:05:52 2020 +0100 Synthetically reference type registration functions Add unused volatile pointers to the type registration functions in each import plugin. We need to do this in order to prevent the linker from optimizing the registration away. There are two ways for this to happen: When linking statically, the linker will examine the referenced symbols on a per-object base and leave out all unreferenced objects. When linking dynamically, the linker may do the same on a per-library base and drop any unreferenced libraries from the dependencies. Forcing a reference to the type registration function prevents both. The volatile technique allows us to remove the previous qCDebug() hack. Having an unused volatile auto variable should only result in a single memory read as runtime overhead. The qCDebug() technique would generate a read and a block of mostly dead code (as no one would ever use that logging category). Fixes: QTBUG-81622 Change-Id: I255667276dfd355b19baa17b1aad3db406bf1954 Reviewed-by: Fabian Kosmale commit ecdb4ed275a0869dc668d73d774735575d43a0a3 Author: Fabian Kosmale Date: Thu Jan 2 14:42:12 2020 +0100 Enable conversion from QJSValues containing arrays to container types We started to convert containers to QJSValues, so that we could use them as JavaScript arrays. Unfortunately, this would then lead to a type missmatch when those same values where to be stored in a property of the container type. This commit fixes this by converting them back to the original type. Fixes: QTBUG-80916 Change-Id: I30a3b03e17c34b171d4a6881dfd7801c13e94d80 Reviewed-by: Ulf Hermann commit 38e6b511e9a5215ef0e8b3217fb51b5f8fbaa62d Author: Ulf Hermann Date: Thu Jan 30 15:34:28 2020 +0100 Run qtEnsurePluginResourcesCpp() from qtquickcompiler.prf This was missed when factoring out the resources flattening. Fixes: QTBUG-81699 Fixes: QTBUG-81713 Change-Id: I6ee42c0b91aaa57c593b218eb52359205098e5c6 Reviewed-by: Simon Hausmann commit 228f854ff99719d4c8151a3b52612e74f649f2b8 Author: Ulf Hermann Date: Mon Jan 13 18:36:13 2020 +0100 Get rid of global gadgetPtr in QQmlValueType We should not keep user-created objects in global data structures. This is inherently thread-unsafe and crashes when the user passes static data and later unloads the same. Instead we keep the cached gadgetPtr wrapper objects in the engine now. Fixes: QTBUG-79553 Change-Id: I24ac3e84b572831d1d70b61b8a6001338579e284 Reviewed-by: Simon Hausmann commit 059d79226421b80b5dfe5d994e37976a0e606ec9 Author: Leander Beernaert Date: Tue Jul 30 16:36:53 2019 +0200 Add support for generating qmlcache_loader without qrc Added support for response file expansion to qmlcachegen. Add the option --standalone-namespace to qmlcachegen so we can generate qmlcache_loader from a collection of resource paths instead of operating on qrc files. This is necessary, since the namespace identifier is extraced from the qrc file name, which we no longer have. This pach was made in order to tend to the cmake port's version of qtquickcompiler support which does not rely on qrc files. Change-Id: If15190f3492e6695f5a6e61bf8816998760541f7 Reviewed-by: Simon Hausmann commit e6ed3f67eee166dccdedf645d9871bfdc21d57de Author: Simon Hausmann Date: Mon Jul 29 14:30:12 2019 +0200 Allow the use of qmlcachegen inside src Make the qmlcachegen target visible in src. This will allow the use of compiling .qml files such as src/imports/testlib/*.qml ahead of time. We might move the sources over from tools/ in the future, but for cmake this isn't necessary -- as long as the targets are defined. Change-Id: I0755c6cb5c78fcb144c067d2b50092e42bb6f65a Reviewed-by: Alexandru Croitor commit 23b846b8a68a0dc344c8c2d7d0e23a696420dba0 Author: Simon Hausmann Date: Mon Jul 29 15:02:42 2019 +0200 Fix parallel build When the parallel build tries to build QmlQmlDevTools early on (can be triggered directly via ninja /path/to/lib/libQt6QmlDevTools.a), then we must make sure to build QtQml first, due to the dependency on syncqt generated header files, which in turn include build time generated files. Change-Id: I5a4ac01d48a791e2ee951e8dd5b418d989e4643c Reviewed-by: Alexandru Croitor commit 13374ceb165c44658aa97890c37b206859c9a31c Merge: ae47deba4c b5d18be5a0 Author: Alexandru Croitor Date: Thu Jul 11 14:51:40 2019 +0200 Merge remote-tracking branch 'origin/wip/qt6' into wip/cmake Change-Id: I2963c1209316fb6755f572969f368970450d7991