-
Notifications
You must be signed in to change notification settings - Fork 192
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
+967,953
−257,662
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]>
Ulf Hermann 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. |
Added an example of combining QThread and QAbstractItemModel - a feat that our customers ask every now and then Task-number: QTBUG-135351 Pick-to: 6.8 6.9 Change-Id: I476e7121361e4d85c2d87eb663f0389a337a3085 Reviewed-by: Fabian Kosmale <[email protected]>
Previously, the basic style did not respect the system's dark mode settings because the palette initialized by QQuickBasicTheme lacked definitions for dark mode colors. This commit updates the palette initialization to dynamically set colors based on the current system color scheme. Additionally, the palette is reinitialized whenever the system color scheme changes. The controls gallery example has been updated to demonstrate the new functionality. [ChangeLog][Controls][Basic] Basic style supports dark mode now. Fixes: QTBUG-135207 Change-Id: I2d6a74b407a7981905a9b86e97004cf0609a4bf0 Reviewed-by: Mitch Curtis <[email protected]>
It references setData instead of data. Pick-to: 6.9 Change-Id: I831fa1d18164396cfc5c5d284b1a1953b798cd26 Reviewed-by: Matthias Rauter <[email protected]>
Some objects have to,from properties instead of minimumValue, maximumValue properties. Switch to to,from if minimum,maximum-Value does not exist Change-Id: Ibb8e2ae3214c5fe654420a5b338d66e8fdae8c6e Reviewed-by: Jan Arve Sæther <[email protected]>
The useLegacyPackaging option is not needed anymore starting from Qt 6.9. It was removed from the examples in 88660cd and 686400f after the merging of 0db5b424cdaede8724886e8a1eda1380382d9aaf. Pick-to: 6.9 Change-Id: Ied3a7db2b0590870e4900bfe2d1c39ca600b91c0 Reviewed-by: Nicholas Bennett <[email protected]>
Because it's an example project, not a subdir project that adds other example projects. Amends 0b23a68 Pick-to: 6.8 6.9 Change-Id: Iaaab440d1b6e75d89f0948083e275b2d7e7009ef Reviewed-by: Alexey Edelev <[email protected]>
Add NO_PRIVATE_MODULE to the creation flags of module that don't have any private headers. There's no point in creating private modules for them. Amends e053cef Task-number: QTBUG-132526 Change-Id: I16caacdbe2af297a1a8c980725b542dd20080041 Reviewed-by: Alexey Edelev <[email protected]>
file(INSTALL) was using QT_DEPLOY_PREFIX instead of CMAKE_INSTALL_PREFIX for the destination path, which ends up adding $ENV{DESTDIR} twice to the path. Change the code to use CMAKE_INSTALL_PREFIX directly. Noticed this while investigating usage of QT_DEPLOY_PREFIX and double DESTDIR paths for the QTBUG-135620 issue. Amends 72e5cfe Augments b6fd319 Pick-to: 6.8 6.9 Task-number: QTBUG-109553 Task-number: QTBUG-117948 Change-Id: I1973305f9e81f922e05ffb71429f007bbf902222 Reviewed-by: Alexey Edelev <[email protected]>
…om menu Since 3b598b6 TextArea comes with a built-in context menu. Here we demonstrate how to add extra menu items to the end. Pick-to: 6.9 Task-number: QTBUG-35598 Task-number: QTBUG-134903 Change-Id: I1e3d8c044939521aaa076486630e3b879130dfd1 Reviewed-by: Mitch Curtis <[email protected]>
df97b6b2de6282bd6422f1e531a42475dadc980d in Qt Base added an assert which detected this. This patch adds an early return if we're about to divide by zero, similar to 7ca1222. It also amends that patch to move the start point == end point check to pathArc(), since it's called from more places. Fixes: QTBUG-135387 Pick-to: 5.15 6.5 6.8 6.9 Change-Id: If9c5655d5e736825e98d3e93201bf889a1785e49 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
And reduce a few duplicate checks throughout our tests. Pick-to: 6.8 6.9 Change-Id: I31610f07eb548282ade5573af56ffef18d33cd66 Reviewed-by: Oliver Eftevaag <[email protected]>
This fixes the linked bug, but also generally makes sense, as there shouldn't be a use case where two menus are open at once. Adjust the documentation to reflect the current state of context menus and use best practices. [ChangeLog][Controls][Important Behavior Changes] All non-sub-menus are now closed when a menu is opened. This is to fix an issue (QTBUG-134903) where duplicate menus are shown when opening a custom non-ContextMenu on a text editing control like TextField or TextArea. This means that rather than two context menus incorrectly being opened, an extra one will briefly be visible before immediately being closed. For information on how to avoid this, please see the "Context menus" section of Menu's documentation. Fixes: QTBUG-134903 Pick-to: 6.9 Change-Id: I158295b72176935c2dc8072a72a4df66678be824 Reviewed-by: Shawn Rutledge <[email protected]>
…ions Signal handler in QML can be bound to a Javascript expression. For example: ``` onHello: console.log(10) ``` Where "onHello" is a Signal Handler. When this is the case a certain amount of code will be generated for the Signal Handler, performing some setup routines and executing the provided expression, generally in a way that is somewhat equivalent to the same expression being executed as the body of a function call. It is possible to bind a Signal Handler to a anonymous function, say: ``` onHello: function () { ... } ``` Or: ``` onHello: () => { ... } ``` When this is the case, if the usual process was followed, executing the Signal Handler would simply produce an anonymous function, but would never actually call it. Instead, when such a literal function expression is bound to a Signal Handler, it is treated specially. In particular, while the code generation will generally behave similarly, on execution of the Signal Handler, the expression will be directly called while the "wrapping" function that was generated around the expression is ignored. While this works correctly in many cases, it can misbehave on certain occasions. For example, an arrow function doesn't generally set up its own context for a call, instead borrowing from the outer context at the time of creation. When making such a call to an arrow function, in a QML context, it is then possible to execute code in an environment that wasn't properly set up for it. In particular, if the body of the arrow function introduces a `LoadLocal` instruction, which assumes, when interpreted, an available `CallContext`, it is possible to try and access memory that was never correctly set up. It is, for example, possible to do so by usage of `arguments`, a special reference that allows access to a pack of arguments in all non-arrow functions, which will produce a `LoadLocal` instruction when accessed, for example: ``` onHello: () => { console.log(arguments) } ``` Internally, when generating code for a JavaScript program or expression, an analysis is performed to understand whether the special "arguments" reference is being used. When that is the case and the context in which the reference is used is under a context where the reference can exist, a local variable for "arguments" is injected and a "LoadLocal" instruction is later generated to access it. The analysis considers a binding scope as being able to provide the "arguments" reference, something that is generally true due to the "wrapping" that is performed when generating an expression for the binding, and which needs to be guaranteed in certain cases. While this breaks down in the face of directly calling the "inner" function in a Signal Handler binding, such that the analysis might itself not be thorough enough in those cases, at the time the analysis is performed we cannot currently know whether the binding we are dealing with is that of a Signal Handler. Furthermore, we don't always bypass the "wrapping" function in a Signal Handler, as there are other cases where this can create issues, for example the usage of "this" in an arrow function. When this is the case, instead of directly calling the "inner" function, the normal "wrapping" function is called to perform setup routines and obtain the function itself by executing the bound expression, subsequently calling the function obtained in this way. To avoid the issue with the usage of "arguments", we re-use the same methodology, ensuring that when the special "arguments" object is referenced we never bypass the setup provided by the binding expression. This ensures that the arrow function will be created in a context where `arguments` is present and where the necessary setup for the call is performed. The special object will be always be empty in that context, which aligns the behavior to that of non-signal bindings. To do so, an additional case was added to the code in `writeFunction` that sets up a binding expression to later skip to its inner function. A few test cases were added to inspect usages of the "arguments" special reference under binding contexts. Fixes: QTBUG-134215 Change-Id: Ib7fdfee91709358f2ee465b1926809ca4617d6f6 Reviewed-by: Ulf Hermann <[email protected]>
Change-Id: I1acf4d47977d3965c891701c5057f5f1718f8286 Reviewed-by: Qt Submodule Update Bot <[email protected]>
This test was always hard to read: it does multiple interactions in sequence with different sets of property values on TextEdit; and the single "clicks" argument controlled clicks both before and after the drag-selection in the middle. At the end, there is also a shift-click. So we make those steps more explicit. Hopefully it's a little more maintainable now. We now wait for the window to be active, in case it helps with stability. Pick-to: 6.9 6.8 Task-number: QTBUG-129947 Change-Id: I534c97fc8a3dde87b1b68126c6524fab8fd699ab Reviewed-by: Frederic Lefebvre <[email protected]> Reviewed-by: Audun Sutterud <[email protected]> Reviewed-by: Axel Spoerl <[email protected]>
Change-Id: I346e7c6257d42c3af0d17a81e7405d9445e9feae Reviewed-by: Oliver Eftevaag <[email protected]>
The plugin importer needs to collect a list of all QML plugins; for that it traverses the list of all plugins, and checks both their meta-data and whether the returned instance actually matches the meta-data. We must however be careful to not call QStaticPlugin::instance() unconditionally, as this might end up instantiating non-QML plugins from the QQmlTypeLoader thread, when they should instead live on the main thread. It also causes unnecessary overhead. Amends: 3b95a33. Change-Id: Ic5c2be833eb7377efba4f91aacbd00b41799119f Reviewed-by: Juha Vuolle <[email protected]> Reviewed-by: Aurélien Brooke <[email protected]>
Add missing notify signals for the writable properties in QQuickFolderListModel. Fixes: QTBUG-114161 Task-number: QTBUG-32039 Change-Id: Ic974174ffea68494ce0c342c71bf7c95c5c56de6 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Oliver Eftevaag <[email protected]>
It's uncertain why this was not there from the beginning: - QAbstractListModel::index(row, column=0) has default column 0 - FolderListModel doesn't make any use of columns: the index() column argument is ignored, so it doesn't make sense for index() to require it. - When the autotest calls index(row), it was not polymorphic, because the arguments weren't quite the same. So far, the test avoids including qquickfolderlistmodel_p.h and sticks to QALM API; but then changing to qobject_cast<QQuickFolderListModel *> would change the available API. - Users may do as the autotest does, and stick to QALM API: after all, QQuickFolderListModel does not have public C++ API. Amends 9593df2 Task-number: QTBUG-32039 Task-number: QTBUG-135370 Change-Id: Iedc437f7a543755f6138ff78845eefe873a64c78 Reviewed-by: Oliver Eftevaag <[email protected]>
Replace QAbstractListModel* casting with QQuickFolderListModel* and prove that index(row) is the same as QALM::index(row), with its default (unused) column=0 argument, and QAIM::index(row, column) with any column. Fixes: QTBUG-135370 Change-Id: Ia9a2913736f722aef74f3dbb7ba0985d40044489 Reviewed-by: Oliver Eftevaag <[email protected]>
Use the new generalized animations to implement support for opacity animations. Change-Id: Id758942d383f71b08ffc514fa5341e13194deaca Reviewed-by: Hatem ElKharashy <[email protected]>
Move away from the complex attempt at creating a single animation out of the key frames and instead pass each animation into Qt Quick. While this will fix some things, it may also regress for some cases of overlapping conflicting animations since we now just depend on the Qt Quick behavior there. If we see the need to support these cases, then we probably need a special ParallelAnimation type that allows modifying how the changes are applied based on which animations are active. Change-Id: I0c0ff867cd5917b19318ebe241a1ab8a9c1c8156 Reviewed-by: Eirik Aavitsland <[email protected]>
Amends: f22856c Change-Id: I31e38e88515f3a78539da6b74ae74b9a41f967ac Reviewed-by: Shawn Rutledge <[email protected]>
When Qt is configured with -no-feature-draganddrop, the quick_draganddrop feature gets disabled too. Consequently many dialog files are then omitted from the build, see src/quickdialogs/quickdialogsquickimpl/CMakeLists.txt. As a result, some dialogs and templates that include and use these files/classes unconditionally, fail to compile. This commit adds same feature guards to these includes/uses. In addition this commit adds the few missing 'drag' feature guards in QQuickVerticalHeaderView as well as adds appropriate feature guards to autotests. Pick-to: 6.9 6.8 Fixes: QTBUG-135740 Change-Id: If1688a3cd8f52918088a8c586d54ccf09cb08890 Reviewed-by: Oliver Eftevaag <[email protected]>
To make the dependency clearer and error to occur earlier at configure. Change-Id: I1acf46e858ea900302acc8309d0bac38cd28e4a8 Reviewed-by: Fabian Kosmale <[email protected]>
The text on the page "Identified Modules" has already been updated to use com.mycompany.qml.mymodule as example URI. The snippet that's included at the top of the page has been missed. Pick-to: 6.8 6.9 Change-Id: I05df857d8f9df24e70dafa6b8de3353736d268fb Reviewed-by: Ulf Hermann <[email protected]>
If we can determine that the base of an optional lookup cannot hold null or undefined, we can simply omit the optional part and generate a regular get lookup. This is also true whenever we lookup an enum. Amends fc4ee77 Fixes: QTBUG-135649 Pick-to: 6.9 6.8 Change-Id: I64984fdecc75cd4dbc2274a08aa73b5274fb09b7 Reviewed-by: Ulf Hermann <[email protected]>
Using an optional lookup '?.' on a base type that cannot be null or undefined or when looking up an enum value is pointless. We generate a normal lookup for this in the compiler, but the bytecode keeps these redundant instructions in. Task-number: QTBUG-135649 Change-Id: I95d8b4ed22afa1bdc46a3f8b3d60a499d43931ac Reviewed-by: Fabian Kosmale <[email protected]>
The test case assumes that QQuickMenu will handle the key press events giving the focus items the proper focus reason (Tab/Backtab), instead of the internal ListView handling them. However, in most styles, the 'interactive' property of the Menu's ListView is bound to a condition depending on the 'height' of the Menu, and if evaluated to true, would cause the ListView to be interactive and handle key events directly. Make sure that the test assumptions are valid by explicitly setting and checking for this in the test. Fixes: QTBUG-133858 Pick-to: 6.8 6.9 Change-Id: Iad458ba96167404a40605ddfbb5b8d2d83d94590 Reviewed-by: Mitch Curtis <[email protected]>
Previously, DragHandler didn't account for scene transforms when calculating drag threshold. In the case when one axis is disabled, and the scene is rotated 90 degrees, the remaining axis should be activated by movements that are nominally the same as the disabled direction, because of rotation. Fixes: QTBUG-136354 Pick-to: 6.8 6.9 Change-Id: I6669949908b0d026850411c10056685648a109d9 Reviewed-by: Shawn Rutledge <[email protected]>
Use a std::vector instead. Track QQmlParserStatus via a QQmlGuard on its QObject. This eliminates the need to keep stable references in the container that holds QQmlParserStatus. Therefore we don't need to allocate all of it in one go anymore, and consequently we can use std::vector rather than our homegrown solution. Since we now record the attached parser status callbacks in the same list as the regular ones, we also need to fix their profiler integration. Otherwise we would get mismatched profiler events. Task-number: QTBUG-135286 Fixes: QTBUG-132827 Change-Id: I695c8939892b18982f09357a53fe743479218808 Reviewed-by: Fabian Kosmale <[email protected]>
This reverts commit 18c421f. Removing the dependency hashing is not safe because there are various other bits covered by it, not only the alias target IDs. Task-number: QTBUG-136806 Change-Id: I4a8a57d810203a47945ce67916ee5b54ee7a603d Reviewed-by: Fabian Kosmale <[email protected]>
We need to store them on the JS heap. Fixes: QTBUG-136797 Change-Id: I8b675a2a5bafcfa49f4bdf38407e8d81b39bc902 Reviewed-by: Olivier De Cannière <[email protected]>
Primarily to allow QQ4A auto tests to exit safely, but also in case any user wishes to use the Qt.quit() QML functionality. Fixes: QTBUG-132512 Change-Id: Id1b2c7a661b6cc36bc32fdca6040f5ae32c22364 Reviewed-by: Assam Boudjelthia <[email protected]>
Adds a macro and a main() implementation for use with Quick for Android auto tests, like the existing quick_test_main(). Moves androidExitCode file API to a new utils header under android/, so it can be used from both QQ4A and Q4A testing context. Task-number: QTBUG-130342 Change-Id: I7779df3e9ef7bf9f64f1ec355c3d2d10714cec1c Reviewed-by: Assam Boudjelthia <[email protected]>
This commit adds QML tests for using the set/get functionality for QtQuickView properties, and confirming those changes via a C++ class using JNI. Task-number: QTBUG-130342 Change-Id: Ib866f1ea1037eeebf1da08058c110942df421ae2 Reviewed-by: Assam Boudjelthia <[email protected]> Reviewed-by: Jan Arve Sæther <[email protected]>
Make ConstPtrWrapperIterator an alias to an iterator and remove the broken iterator implementation. For future reference: It seems that clang 19 expects to be able to do operator*() on a const ConstPtrWrapperIterator passed to std::vector<>::insert(). Change-Id: I68013f727e31e46ec690e6d7769fcaded1e7e54c Reviewed-by: Olivier De Cannière <[email protected]>
Add a visitor that creates warnings about qml and js code, to avoid having all the warning-related but qqmljsscope-unrelated code in qqmljsimportvisitor. Task-number: QTBUG-129307 Change-Id: Icf56979d99855f11c5e72a0c9efbf9ecd629e42e Reviewed-by: Olivier De Cannière <[email protected]>
Move the stringliteral linting code into the new LinterImportVisitor class. Task-number: QTBUG-129307 Change-Id: I5f358f91c41e99383582be9fc1628814563848ed Reviewed-by: Olivier De Cannière <[email protected]>
Add a helper to retrieve the parent of the current node. It will be needed in later commits to emit warnings. Task-number: QTBUG-129307 Change-Id: Iaf6acd55db67e549ca8f34b5e20bf069d12349dd Reviewed-by: Olivier De Cannière <[email protected]>
Expression is confusing. Pick-to: 6.9 6.8 6.5 Change-Id: I365ce06a266e24a506b14734fef8b977d6794a72 Reviewed-by: Fabian Kosmale <[email protected]>
Warn when comma expressions are used outside of for-loops. Task-number: QTBUG-129307 Change-Id: Ic86bf3af7f122f73b70e18c728c72f64c355f982 Reviewed-by: Fabian Kosmale <[email protected]>
Implement the WarnXConstructor and complain about a specific set of constructors. Task-number: QTBUG-129307 Change-Id: I27e0cfcb1f061bb2efff1721da4a2bbdb01fcf2f Reviewed-by: Semih Yavuz <[email protected]>
Warn about usages of the void keyword. This warning is off by default, mirroring the behavior of eslint. Task-number: QTBUG-129307 Change-Id: Iba1cc09e028d5053ef1aa28f01f1694efa5c250f Reviewed-by: Semih Yavuz <[email protected]>
Implement the confusing pluses and minuses warnings. Those are triggered for weird combinations of unary pluses and pre increments inside of additions. (same for unary minuses and pre decrements). Task-number: QTBUG-129307 Change-Id: I45c202efa58a588090d872f0bf8f43523c24a957 Reviewed-by: Fabian Kosmale <[email protected]>
Initialize all argument types even if we already warned about the missing type annotation. This allows to get correct types in QQmlJSTypePropagator later on during linting. Amends 06577c9. Pick-to: 6.9 Change-Id: Ieaad973f411d5b0f914561d95dfab72175563e15 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
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]>
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.