-
Notifications
You must be signed in to change notification settings - Fork 193
Calls order of q_invokable method #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
rjcamatos
wants to merge
10,000
commits into
6.2
Choose a base branch
from
dev
base: 6.2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+998,365
−259,001
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
qtprojectorg
pushed a commit
that referenced
this pull request
Dec 8, 2023
Using std::binary_search has the requirement that the passed range fulfils ordering requirements, which was not the case for the cppKeywords array here. As the QString doc says [1]: > QStrings can be compared using overloaded operators such as operator<(), > operator<=(), operator==(), operator>=(), and so on. Note that > the comparison is based exclusively on the numeric Unicode > values of the characters. It is very fast, but is not what a > human would expect; (...) Therefore, sort the array accordingly and add an assert to ensure it will remain sorted. Fixes an crash/assert when building qtdeclarative with CXXFLAGS='-D_GLIBCXX_DEBUG': /usr/include/c++/13/bits/stl_algo.h:2243: In function: bool std::binary_search(_FIter, _FIter, const _Tp&) [with _FIter = const QString*; _Tp = QStringView] Error: elements in iterator range [first, last) are not partitioned by the value __val. Objects involved in the operation: iterator "first" @ 0x7ffc4a2c4f18 { type = QString const* (constant iterator); } iterator "last" @ 0x7ffc4a2c4f10 { type = QString const* (constant iterator); } Aborted (core dumped) ninja: build stopped: subcommand failed. GDB backtrace: Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: No such file or directory. (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f307e0a815f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x00007f307e05a472 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f307e0444b2 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007f307e2a300d in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00005639ff90471d in std::binary_search<QString const*, QStringView> (__first=0x5639ffa1a9c0 <QmltcVisitor::checkForNamingCollisionsWithCpp(QDeferredSharedPointer<QQmlJSScope const> const&)::cppKeywords>, __last=0x5639ffa1b2c0 <guard variable for QmltcVisitor::checkForNamingCollisionsWithCpp(QDeferredSharedPointer<QQmlJSScope const> const&)::cppKeywords>, __val=...) at /usr/include/c++/13/bits/stl_algo.h:2243 #6 0x00005639ff8fb837 in operator() (__closure=0x7ffc4a2c52bf, word=...) at /home/michi/development/git/qt5/qtdeclarative/tools/qmltc/qmltcvisitor.cpp:764 #7 0x00005639ff8fb89e in operator() (__closure=0x7ffc4a2c52a0, name=..., errorPrefix=...) at /home/michi/development/git/qt5/qtdeclarative/tools/qmltc/qmltcvisitor.cpp:768 #8 0x00005639ff8fc99b in QmltcVisitor::checkForNamingCollisionsWithCpp (this=0x7ffc4a2c6070, type=...) at /home/michi/development/git/qt5/qtdeclarative/tools/qmltc/qmltcvisitor.cpp:787 #9 0x00005639ff8f9dea in QmltcVisitor::endVisit (this=0x7ffc4a2c6070, program=0x563a002e0628) at /home/michi/development/git/qt5/qtdeclarative/tools/qmltc/qmltcvisitor.cpp:341 #10 0x00007f307f6636fa in QQmlJS::AST::UiProgram::accept0 (this=0x563a002e0628, visitor=0x7ffc4a2c6070) at /home/michi/development/git/qt5/qtdeclarative/src/qml/parser/qqmljsast.cpp:1193 #11 0x00007f3080159b8f in QQmlJS::AST::Node::accept (this=0x563a002e0628, visitor=0x7ffc4a2c6070) at /home/michi/development/git/qt5/qtbase/include/QtQml/6.7.0/QtQml/private/../../../../../../qtdeclarative/src/qml/parser/qqmljsast_p.h:272 #12 0x00007f3080212f4b in QQmlJSTypeResolver::init (this=0x7ffc4a2c5b50, visitor=0x7ffc4a2c6070, program=0x563a002e0628) at /home/michi/development/git/qt5/qtdeclarative/src/qmlcompiler/qqmljstyperesolver.cpp:173 #13 0x00005639ff8f0bd3 in QmltcTypeResolver::init (this=0x7ffc4a2c5b50, visitor=0x7ffc4a2c6070, program=0x563a002e0628) at /home/michi/development/git/qt5/qtdeclarative/tools/qmltc/qmltctyperesolver.cpp:19 #14 0x00005639ff8c02d4 in main (argc=23, argv=0x7ffc4a2c7a68) at /home/michi/development/git/qt5/qtdeclarative/tools/qmltc/main.cpp:269 [1] https://doc.qt.io/qt-6/qstring.html#comparing-strings Change-Id: I82ebbcdca4ab90155b935f9af24b3a3821134563 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Mate Barany seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
Fixes: QTBUG-127325 Task-number: QTBUG-119890 Change-Id: I20b497da025dec8050ea94fc604db33a3ebdde77 Reviewed-by: Fabian Kosmale <[email protected]>
This is a feature in Lottie, where layers pop into existence and pop out later on. We do this by animating the visibility of the item. Change-Id: Ieebab4e84f9254976b0de9759a1f0f4c8026210e Reviewed-by: Eirik Aavitsland <[email protected]>
The Lottie file format has a feature where a layer can have the transform of another layer (including any transform set on one of its ancestors) as its base. This means that we need a specialized helper type that collects the transforms of its ancestors and exposes the combination so that it can be referenced from a different part of the generated QML. Change-Id: I20b72cb9b9af2834f40f391ecb8df7bb0c5e1958 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
Amends commit 3fd49c8 Pick-to: 6.9 6.8 6.5 Change-Id: If30ad483c17535e7a1f423dc5bfa8f94ef3914ed Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Mitch Curtis <[email protected]>
Change-Id: I175224539c2626dd5f54df5db67e14c0cbc5085c Reviewed-by: Qt Submodule Update Bot <[email protected]>
Plugin applications should generally not use environment variables since those are meant for the host application. Furthermore, they should not look at QCoreApplication::applicationDirPath() since that is the host application's path. They can use the resource file system and their own Qt installation's paths, though. [ChangeLog][QtQml][Important Behavior Changes] The default import and plugin paths for QML have been changed for applications that set the Qt::AA_PluginApplication attribute. This attribute is meant to isolate the plugin application from the host application. To achieve this goal, it can't share plugin and import paths with the host application. Task-number: QTBUG-133312 Task-number: QTBUG-134925 Change-Id: I813799e7a3d4eeb6e6ba37050e68b42b029c88d2 Reviewed-by: Tim Blechmann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
In 6.9.1 the Q4A compile SDK version was bumped to 35, which includes a new edge-to-edge feature. For now this was disabled until we can add official support for the feature. When building the QtQ4A examples from the command line a linter is run as part of the build process and this raises a complaint about the disabling of the edge-to-edge feature, as that is not supported until API level 35 and the minSDKLevel is still 28. This should be safe to be ignored which we can do by setting the linter-specific "tools:targetApi" attribute to the element. Amends 3d3f2dc. Task-number: QTBUG-134880 Fixes: QTBUG-136933 Pick-to: 6.9 6.9.1 6.8 Change-Id: Ie86fdc429ffb9f89ebe23999967a329cd630f194 Reviewed-by: Petri Virkkunen <[email protected]>
SVG has a feature where a set of animations on the transform can be set to either replace or append to previous animations, but only while the animation set is active. In order to support this, we introduce a helper class called TransformGroup which can contain a set of parallel animations and have them override the others. Change-Id: I28be7d120527b1f2d1e3dbf5c5de94094c766363 Reviewed-by: Eirik Aavitsland <[email protected]>
The warnings should be part of the linting visitor. Introduce a new warning category for the exising warning about duplicate enum entries. Amends bbce9ea This also (re)moves the test for warnings about enums in inline components from qmltc. These warnings should be generated by qmllint. Some files that had enum inside of inline components may no longer fail to compile because of the warning. This is fine as the enum is not accessible anyways. Amends f368be4 Task-number: QTBUG-119890 Change-Id: I90f280e2e443504ab336b4c2ad85bf7e53e4544f Reviewed-by: Fabian Kosmale <[email protected]>
Fixes: QTBUG-117300 Task-number: QTBUG-119890 Change-Id: If503b3dbfe9c8ad916afa3b570861f62c33e1fbd Reviewed-by: Fabian Kosmale <[email protected]>
Fixes: QTBUG-119781 Task-number: QTBUG-119890 Change-Id: I392819ad0a47e0457c4b888894893ac37a77fa11 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Task-number: QTBUG-129307 Change-Id: I95f633299ca94cb27c545a97a465bb5e24b5e3e8 Reviewed-by: Ulf Hermann <[email protected]>
Animation steps that do not actually modify the property value are replaced with just a PauseAnimation. Significantly reduces the number of lines in the output. Change-Id: I281acb123e664ed21e63c5a94ac65dc30e4de1fa Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
- Fix linking to `QtQuickView` Android class - Fix incorrect link target to section - Fix \sa link to QLocale::createSeparatedList() - Remove link to undocumented header `qqmlregistration.h` - Replace link to non-existent QML type HeaderViewDelegate with actual type name(s). - Fix links to (Horizontal|Vertical)HeaderView::delegate property, as the property is documented in the base type. - Remove \sa links to private member QSGTextNode::doAddTextDocument() Pick-to: 6.9 Change-Id: I3bab7155f8d73af6d51f8cfe890ece6d31671f1d Reviewed-by: Nicholas Bennett <[email protected]>
When a delegate modifies a property or connected to a signal of the attached object the attached object is created before the parent item of the delegate is set so view would end up unset. Fixes: QTBUG-133562 Pick-to: 6.9 Change-Id: Ia227c9ee009ea719656f802a99cf43afc02d28d9 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Task-number: QTBUG-127286 Change-Id: I8e3e9e4e05d75744348dad0c3b15e09260ee34f2 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Leena Miettinen <[email protected]>
Unity builds are broken on windows due to a `Parse error at "IID"`. Skiping unity build inclusion of the genereated QQmlEngineExtensionPlugin file to make them happy. Pick-to: 6.8 6.9 Change-Id: I1cd63b6c9ea0156d40d009b4c1e61f3318cbd96b Reviewed-by: Alexandru Croitor <[email protected]>
A top-level configuration with FEATURE_thread=OFF fails when autotests are enabled. Most tools can be built without threads nowadays, so we enable them and only exclude the qquickworkerscript and gifs tests. Pick-to: 6.8 6.9 Change-Id: I809b021b4bdc4031d6c3335bea3aee414f5ce863 Reviewed-by: Alexandru Croitor <[email protected]>
We need to handle all array-likes in both variants. Amends commit 07cfd1b. Pick-to: 6.9 6.8 Fixes: QTBUG-136581 Change-Id: I403dbb97c8f59e37babd6391f70fdc1a1a993cd6 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Its not a wrapper anymore, its just an alias to a QList iterator. Change-Id: I15006f288a3a225e7bda9905c685e1050c70a265 Reviewed-by: Olivier De Cannière <[email protected]>
This is rather handy for figuring out the QQmlType given a metatype. Task-number: QTBUG-71348 Change-Id: Ib33e9e36937409ca408d44089ce8f1aea39f138a Reviewed-by: Sami Shalayel <[email protected]>
We may store them in various places, for example as argument types to methods. Rather, keep a cache of composite metatypes and recycle them as necessary. These days, each type has a unique URL and we can use those URLs to recognize them. If a type is dropped and later re-loaded we can simply change the name of the metatype in place. It's the only actually unique piece of data about composite metatypes. As a drive-by simplify the creation of names for inline component types a bit and move the names into place. Pick-to: 6.9 6.8 Fixes: QTBUG-135286 Change-Id: I01728a1e5f40175072d8a27bb1b0dee5929d31c2 Reviewed-by: Fabian Kosmale <[email protected]>
Calculating those is a rather complex affair, and unlikely to pay off. Previously they were used to pre-allocate space in the object creator. We use standard containers with standard allocation strategies everywhere else. If this turns out to be an actual problem, we could record the actual numbers when we create a component and record those in the ExecutableCompilationUnit for next time. Task-number: QTBUG-135286 Change-Id: Ia44bbc9c49cbfb638f5d4bbbb345c48124e4fb09 Reviewed-by: Fabian Kosmale <[email protected]>
This patch fixes the comparison of different signed integers on Android x86 architecture. Fix introduces q20::cmp_greater_equal to be used. Fixes: QTBUG-136969 Change-Id: I6ec17c3604b82266cfd7a68f7f5505360b6a65c6 Reviewed-by: Ville Voutilainen <[email protected]>
In QtC, ErrBlocksNotSupportedInQmlUi is supposed to warn about function blocks when used in bindings. We can't detect function blocks with the QQmlSA infrastructure because we don't have access to the AST, but we still can actually detect bindings to function blocks. Extend ScriptBindingValueType to be able to recognize bindings that contain functions (JS blocks, arrow functions and lambdas). Extend the QQmlSA interface to find out if a binding contains a function so that qdslintplugin can use it in a later commit. Task-number: QTBUG-129308 Change-Id: Ic46ad6faf7a04d805084db2d9353b009e881d4dd Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Warn about bindings to functions outside of Connections or ScriptActions. Thats not 100% compatible with the QDS errors as we can't differentiate between bindings to function and bindings to JS blocks, but I claim that the end user doesn't care and that we can use the ErrFunctionsNotSupportedInQmlUi category to cover all of these cases. Fixes: QTBUG-129308 Change-Id: I1fbbb8b8a8e820ee64f6ad401992b1c956f01ae9 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Amends 941b36a. pooled() and reused() signals had been integrated but the items are not actually reused because we also need to tell the QQuickItemView that an item can be reused when it is released. This change was tested in Plasma Wayland, it makes scrolling wallpapers butter smooth. Fixes: QTBUG-101209 Pick-to: 6.9 Change-Id: Id7f99e0dc90a8fdff1f8cd137d7a52d40f8cf70f Reviewed-by: Marco Martin <[email protected]> Reviewed-by: Axel Spoerl <[email protected]>
Change-Id: Ie922395511e44c48bd3999142008f66f231736b1 Reviewed-by: Qt Submodule Update Bot <[email protected]>
SortFilterProxyModel has been replaced with the new version as the updated SFPM includes QML support which was not available in the previous version. Pick-to: 6.10 Change-Id: I9e48b96810f6f2d6f0f1557f7003b7fb274d39ca Reviewed-by: Jan Arve Sæther <[email protected]> Reviewed-by: Pierre-Yves Siret <[email protected]>
The documentation for e.g. Row says: If an item within a Row is not visible, or if it has a width or height of 0, the item will not be laid out and it will not be visible within the row. Before this patch, the item wouldn't actually be hidden if its width or height was zero, but just moved into a list of unpositioned items and treated as if it was. This patch fixes that by culling the item. Fix and add rows to tst_qquickcontainer::zeroSize, which would otherwise fail. Fixes: QTBUG-132607 Pick-to: 6.8 6.9 6.10 Change-Id: I04c8a3f1ffb9e4a649024087626c4d7846ca01a0 Reviewed-by: Santhosh Kumar <[email protected]>
The _qt_internal_write_deferred_qmlls_build_ini_file function is deferred to be called in the root CMAKE_BINARY_DIR, where QT_CMAKE_EXPORT_NAMESPACE is not defined if find_package(Qt6) is not called in the root of the project (like in the Qt Creator super repo). Make sure to pass the value of QT_CMAKE_EXPORT_NAMESPACE to the function explicitly, from a scope where it is available. This avoids errors like: Error evaluating generator expression $ No target "::qtpaths" CMakeLists.txt:DEFERRED Add a test case to the RunCMake.qt_target_qml_sources test to ensure this doesn't regress. Amends ddcafa0 Augments 9b9a2398f30b6c35ef6be3ce929c352afb682910 Pick-to: 6.10 Fixes: QTBUG-137577 Change-Id: I5b70822576a4f26f24c37c0a866b97cb57150291 Reviewed-by: Alexey Edelev <[email protected]>
Compilation units loaded from remote files can and should be cached. Compilation units loaded from static data should not. Change-Id: I337cb2bc8e41e445da4762ce76de7a8388a96bc2 Reviewed-by: Fabian Kosmale <[email protected]>
tst_touchMouse::tapOnDismissiveTopMouseAreaClicksBottomOne is no longer flaky on openSuSE 15.5. Fixes: QTBUG-118059 Pick-to: 6.10 Change-Id: Ic1a0c89ee60336cbef677e2c065114ef38911fc7 Reviewed-by: Axel Spoerl <[email protected]>
tst_touchMouse::touchButtonOnFlickable is no longer flaky on openSUSE leap. Change-Id: I28d25150aabfa938507c1c2750d73cd159b7038c Reviewed-by: Axel Spoerl <[email protected]>
Set the FramelessWindowHint flag to tst_mouseAreaInterop::createview. Removes flakiness from tst_mouseAreaInterop::dragHandlerInSiblingGrabFromMouseAreaViaMouse. Pick-to: 6.10 6.9 6.8 6.5 Change-Id: I2cdbc9701a9e463bcf0a5f326df5726deb8fa093 Reviewed-by: Axel Spoerl <[email protected]>
tst_QQuickOverlay::pressedAndReleased is flaky on openSuSE where the un-updated position of the window is used when the pressedSpy and releasedSpy are called. Use helper function ensurePositionTopLeft to give a fix position to the window and verify that it has been updated. Pick-to: 6.10 6.9 Fixes: QTBUG-134704 Change-Id: Ibec9f6f2857220d174744f80a11fc7552c1f2ece Reviewed-by: Axel Spoerl <[email protected]>
remove more code that does nothing. This is a preparation step for QTBUG-134308 that aims to allow multiple QQmlCodeModels in qmlls for the multi-workspace setup. Task-number: QTBUG-134308 Change-Id: I158dc5a920397a403479152b7d9e3fbaeb359cce Reviewed-by: Fabian Kosmale <[email protected]>
remove more code that does nothing. This is a preparation step for QTBUG-134308 that aims to allow multiple QQmlCodeModels in qmlls for the multi-workspace setup. Task-number: QTBUG-134308 Change-Id: I06d1463ab90e6bf9f79d7b37313bbe923536ebe4 Reviewed-by: Fabian Kosmale <[email protected]>
This is a preparation step for QTBUG-134308 that aims to allow multiple QQmlCodeModels in qmlls for the multi-workspace setup. Task-number: QTBUG-134308 Change-Id: I801317b7ae3f81cee015883c5ae027c21a90a845 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Its unique usage is after the unique addOpenToUpdate()-call. Therefore, move it into addOpenToUpdate() and make it private. This is a preparation step for QTBUG-134308 that aims to allow multiple QQmlCodeModels in qmlls for the multi-workspace setup. Task-number: QTBUG-134308 Change-Id: Ibb237055a9e58a96f3b17e47d77aae07629f7be2 Reviewed-by: Fabian Kosmale <[email protected]>
With QTBUG-134308 we might need to support multiple documentation roots, so move the HelpEngine into QQmlCodeModel. It also seems to be a better place for the HelpEngine as it avoids connecting a signal to update the HelpEngine on a documentationRootPath change. This is a preparation step for QTBUG-134308 that aims to allow multiple QQmlCodeModels in qmlls for the multi-workspace setup. Task-number: QTBUG-134308 Change-Id: I7d6a1c1318f89309b13f7dd506e5d5f21fb6bdee Reviewed-by: Fabian Kosmale <[email protected]>
The qmltestrunner binary needs to be available as a CMake target, so that a $<TARGET_FILE:...> genex can work. KDE projects use such a genex to run their qml tests. For Windows on ARM, when it is cross-compiled from an x86 Windows host, we need the binary to match the target platform and arch, to be able to run the tests. To achieve both use cases, change the binary back from an app to a tool to make it available as a target automatically when calling find_package(Qt6Qml). To ensure the binary is also cross-built for the target arch when cross-compiling, set QT_WILL_BUILD_TOOLS and QT_WILL_RENAME_TOOL_TARGETS to ON locally in the subdirectory. Add an opt out not to build the target binary (by skipping the local QT_WILL_BUILD_TOOLS assignment) if QT_NO_TARGET_QMLTESTRUNNER is set. This won't affect regular yocto builds that set QT_FORCE_BUILD_TOOLS to ON, so that will work as usual. This is a temporary workaround, until we can create some kind of QtFooAppsConfig.cmake file which would expose the binary as an app target, rather than a tool target, like we currently do for tools. Amends 722116b Pick-to: 6.10 Task-number: COIN-1211 Fixes: QTBUG-137005 Change-Id: I9b5a59f5bd30c2e30e5578354515e018383f2926 Reviewed-by: Alexey Edelev <[email protected]>
QQuickFolderListModel::beginResetModel calls endResetModel automatically to avoid consequtive calls to beginResetModel. However, the same logic is not done for endResetModell. This triggers a endResetModel without a preceeding beginResetModel which (apparently) causes problems with updating the view contents in some cases. Fixes: QTBUG-134600 Pick-to: 6.8 6.9 6.10 Change-Id: I9fe3034b784d83ee2ed5b65bdad3a77545891bc2 Reviewed-by: Mitch Curtis <[email protected]>
Change-Id: I3988b8966e7ddd75ed31e9afce68364a0e93afde Reviewed-by: Olivier De Cannière <[email protected]>
Since you can manually insert a new compilation unit for an existing URL, there can in fact be multiple types active for the same URL. Since composite types will need special handling on shutdown, we need to keep them around. Change-Id: Ie399a059d87fa6fb46f33a604729f2f2f69a2e9e Reviewed-by: Sami Shalayel <[email protected]>
Without this, freeUnusedTypesAndCaches() could drop dependencies of a live ECMAScript module. This would be unfortunate. Since ECMAScript modules can form cycles, we now need to clear the dependent scripts separately before clearing the compilation units. The downside of this is that actually cyclic ECMAScript modules cannot be cleared at all without clearing the whole type registry. However, this situation should be rare. Change-Id: Ib2d523f7c291bb5c472b6603bd947c3977b77b85 Reviewed-by: Sami Shalayel <[email protected]>
A reader which can't read anything does not make sense. Moreover, the class is meant to be used once and then discarded; copying or moving it would not yield anything sensible either. Change-Id: I9ae43bd0ac97d44f3d7b9681554e97f6c5ac52b3 Reviewed-by: Sami Shalayel <[email protected]>
Change-Id: I267b596354d6e497f619015127e0be8f9dfa947f Reviewed-by: Qt Submodule Update Bot <[email protected]>
We want the type loader to do this job rather than poorly duplicate it in the test. In particular, the local implementation didn't properly register the dependencies of loaded ECMAScript modules. So far we could only load ECMAScript modules using the type loader if their file names ended it ".mjs". The ECMAScript test suite does not follow this convention. In order to deal with that, we need to add a second characteristic. ECMAScript modules can now also be marked using a URL fragment "#module". Furthermore, since JavaScript files loaded outside any QML document get full access to the global context, we introduce another URL fragment "#global" to discern them from the same files loaded from a QML document. Change-Id: I625088335d16d5b8eeaa2673f07718367dca1605 Reviewed-by: Sami Shalayel <[email protected]>
Invent a new URL fragment "include" for this. We need to make sure the included JS code inherits the context. We want to get rid of the local file loading in qv4engine.cpp since it undermines network transparency. Qt.include therefore has to use the type loader. For remote files it so far used a hand-rolled network loading machinery which duplicated the type loader code. By using the type loader right away, this becomes unnecessary. Change-Id: Iae5c1ad764b98b101c1d90dbb78e46d3950541aa Reviewed-by: Sami Shalayel <[email protected]>
It isn't used anymore and it was bad since it unconditionally loaded from a local file, subverting the network transparency. Change-Id: I3c8d045b03a5250eb390731b9d8a8df6f74586a0 Reviewed-by: Fabian Kosmale <[email protected]>
Show how to use it in a more useful way. Pick-to: 6.5 6.8 6.9 6.10 Change-Id: Id7c1850007d2cb752b8ae4ad0f3cf01e04e322bd Reviewed-by: Andreas Eliasson <[email protected]>
We need to get rid of the local file loading. Also, sort the includes of qjsengine.cpp. Change-Id: I62629e21ababb9aadc2b146a75cda712d26cffa3 Reviewed-by: Sami Shalayel <[email protected]>
We need to get rid of it. Use the type loader instead. Change-Id: I63be8eab38401feed4e6461b03804e8335f41899 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
The type loader should make sure that they are available. Prove that by wrapping all access to dependencies into an accessor that checks the dependent scripts. Change-Id: I6e0153fcb213e1a5b6ece79e3fbc0e27dc1b292c Reviewed-by: Sami Shalayel <[email protected]>
Scripts (including modules) shall be loaded via QQmlTypeLoader, to preserve network transparency. Since the last users of loadModule() and friends have been removed, we can now drop the relevant code. Task-number: QTBUG-19407 Change-Id: I8d5aa177266d376fb77f5b61f94ab1277b4c64c4 Reviewed-by: Sami Shalayel <[email protected]>
As mentioned in the comment, we cannot rely on the type registry for property caches of inline components. So, whatever we find there is necessarily outdated. Check the compilation unit's inline components first to avoid this situation. Pick-to: 6.10 6.9 6.8 Fixes: QTBUG-137115 Change-Id: I708435823428fd9f1cdae4b5bffda36d51ab1982 Reviewed-by: Fabian Kosmale <[email protected]>
Remove some unused code and allow it to run without QProcess. We can use threads after all. Also, activate the "filter" mode via an environment variable. Running only a subset of the tests is very handy at times. Most of the dead code was supposed to be used with the qjstest executable from d9c4a52, but d08ede5 removed qjstest in favor of using tst_ecmascripttests itself for all ways of running the tests. Change-Id: I0d220964a98c3f49e97fc6650cf3169db5644af5 Reviewed-by: Sami Shalayel <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If there are 2 or more methods with the same name but reciving diferent arguments the QJSEngine Pickup the First One declared.
Example:
methodxyz(string)
methodxyz(objptr*)
It picks up the first one passing as argument a string and not the one that i was expecting an object as it was send.