-
Notifications
You must be signed in to change notification settings - Fork 186
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
Calls order of q_invokable method #10
base: 6.2
Are you sure you want to change the base?
Conversation
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]>
Santhosh Kumar 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. |
We need to ensure that it's possible to use ContextMenu on controls like Pane, which accept mouse events to prevent them from going to items beneath them. customContextMenuOnControl.qml was using Label, which is derived from QQuickText, not QQuickControl, so give Label its own file. Also, add a test for the actual Control type just for completeness. Task-number: QTBUG-132073 Pick-to: 6.9 Change-Id: I3521aa98a4aeec4848bf10c6c46f4e6e83bdb697 Reviewed-by: Shawn Rutledge <[email protected]>
FocusFrame.qml was included in the FluentWinUI3 public module imports, despite not providing any documentation. This component is an implementation detail and should not be part of public QML API. Add deprecation warnings in the original file and move it to the private impl module instead. [ChangeLog][QtQuick][Controls][FluentWinUI3] FocusFrame.qml is deprecated in the module's public QML API and moved to the private impl module instead. Pick-to: 6.9 Change-Id: I74c8c9a03ccc1f7b33d6fb814ca1faeca57b0545 Reviewed-by: Mitch Curtis <[email protected]>
Do not populate a pointer eagerly if it was already populated when its factory got reset. Instead reset the underlying shared pointer to delete the stale data. Amends 13761ee that wanted to avoid having stale data around. Add a test that reproduces the stack overflow when the pointer get eagerly populated, and make sure the stack size is big enough even for asan builds. Fixes: QTBUG-132134 Pick-to: 6.8 6.9 Change-Id: I8e2a5ce7fc99b1ec33d31535dc6b2675ab623349 Reviewed-by: Ulf Hermann <[email protected]>
Not all combinations are actually supported, so replace DomCreationOptions with DomCreationOption. We only need 2 options: a Default one for qmlformat and an extended one with semantic analysis, script elements and recovery elements. Task-number: QTBUG-92889 Change-Id: I7a2d52df1dd7b4186eab73d3bd11c9818c25f543 Reviewed-by: Olivier De Cannière <[email protected]>
Its not used anywhere, and only returns a default constructed path. Change-Id: I0c3cdaf1993e4beb96b070a8b1550114894e7a71 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Group the data into different categories with separate protection strategies: 1. Actually shared data: This is protected by the type loader thread mutex. 2. Data only accessed by the type loader thread. This does not need any locking, but we assert on the thread affinity. 3. Configuration data. Only the engine thread can write it and the loader thread must be stopped at that point. It can then be read from either thread without locking. 4. The network access manager factory. This one has its own mutex because it can be accessed not only from the type loader thread but also from worker scripts. Fixes: QTBUG-131721 Change-Id: Id91bcdc019d4d283df7eb294dd852a0093ed2db9 Reviewed-by: Olivier De Cannière <[email protected]>
This change removes a duplicate mavenCentral repository definition from qtabstractitemmodel_java settings.gradle file of Qt Quick for Android example. Fixes: QTBUG-132792 Pick-to: 6.9 6.8 Change-Id: Ib4d719a7c12ff536a7da588387badd097edeeeb6 Reviewed-by: Assam Boudjelthia <[email protected]>
Change-Id: I079783082c934ea89e6feae3215e5e80f201b730 Reviewed-by: Semih Yavuz <[email protected]>
These versions are currently all over the board, and the intention is to have them in line with the Qt for Android requirements (which is Gradle 8.10 and AGP 8.6). Also update the Kotlin plugins while at it. Task-number: QTBUG-132815 Pick-to: 6.9 6.8 Change-Id: I72d8cb15d80b8b69301bbc2bbfeebf779ef137df Reviewed-by: Assam Boudjelthia <[email protected]>
Follow the approach with FocusFrame and move StyleImage.qml to the private FluentWinUI3.impl module instead. Add deprecation warnings to the original file. [ChangeLog][QtQuick][Controls][FluentWinUI3] StyleImage.qml is deprecated in the module's public QML API and moved to the private impl module instead. Pick-to: 6.9 Change-Id: I2a536591abb2172a1f7d7a052e88f0c2f58cd481 Reviewed-by: Mitch Curtis <[email protected]>
We support QQmlParserStatus for attached objects, but only if the attached type is registered with the engine (registering only the attaching type is _not_ enough). Fixes: QTBUG-131917 Pick-to: 6.9 Change-Id: I0d71c2ba889c727de9e431edbfa9a1b384277bf0 Reviewed-by: Mitch Curtis <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
If a transform animation ends while others are still running, we need to record the state directly after the shorter animation ends, so that we get a key frame for only the animations that are still active as a starting point. Note: This also adds some extra debug output which was helpful when debugging it. Pick-to: 6.9 Fixes: QTBUG-132408 Change-Id: Ied1f4e7431d201f7bcef27eb4be271eb0afbd8f2 Reviewed-by: Hatem ElKharashy <[email protected]> Reviewed-by: Eirik Aavitsland <[email protected]>
Make the benchmark populate the loaded QML file for it to give comparable results (not all DomCreationOptions create lazy QMl files). Pick-to: 6.8 6.9 Task-number: QTBUG-92889 Change-Id: I37b6692499e8337ecab496ac7d2a9888d70df57c Reviewed-by: Olivier De Cannière <[email protected]>
DOM construction time is quite slow for the QDS use case, so add a new minimal DomCreationOptions that ignores comments (as QDS has no need for comments) because comments seem to take some time to construct. Add the Minimal DomCreationOptions to the Benchmark to show that it is faster then using the Default DomCreationOptions. Measured on my machine, using a release build: File | Default (ms) | Minimal (ms) | Speedup tiger.qml | 83 | 38 | 2.18 deeplyNested.qml | 438 | 12 | 36.5 The 36.5 speedup does look weird at first, but a quick look in the profiler shows that we spend 95% of the benchmark time for deeplyNested.qml with Default DomCreationOptions in * Path::component() and * DomItem::field() while trying to iterate on the Qml Document to find the comments. So its not a bug, its just the linear complexity of Path::component() and DomItem::field() that proves to be inadequate in our case: * Path::component(i) returns the i.th path component, and needs to iterate through all components to find it * DomItem::field(f) returns the value of the field f, and uses iterateDirectSubpaths() which is linear in the number of total fields, and it seems the laziness there might not be working as expected. Pick-to: 6.8 6.9 Task-number: QTBUG-92889 Change-Id: I51168b68e930ed14d1751cf0f6028b1b2879b774 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Stop the confusion between Path::field() and Path::Field() and just rename * Path::Field() to Path::fromField() and * Path::field() to Path::withField() Previously, Path::field() would return a new Path with the Field appended to to the current path, while Path::Field() would create a new Path only containing the passed Field, which I think is a bit confusing. Same for the other methods returning copies with components appended to it, and their uppercased counterparts: * Path::empty() * Path::key() * Path::index() * Path::any() * Path::filter() * Path::current() * Path::path() I won't explain here why I believe how Path::empty(), for example, was particularly deceitful with its previous name. Also rename appendComponent to withComponent that actually does not append anything: it returns a copy with the component appended to it. Change-Id: I9120c3827e30330f715e699cbbb88780d2fd358d Reviewed-by: Olivier De Cannière <[email protected]>
If the default property has been overridden, we cannot say anything about the children anymore. Pick-to: 6.9 6.8 6.5 Fixes: QTBUG-132805 Change-Id: I4d8990b43801976a86b1416f70ee517cda57bda9 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
The sidebar lacks test coverage. Add a basic test, which verifies that clicking on the various buttons that represents standard paths, actually changes the dialog's currentFolder. Pick-to: 6.9 Change-Id: I48d2672a2d26ae96c8a2069e1bbfb340117a10c3 Reviewed-by: Mitch Curtis <[email protected]>
Pick-to: 6.9 Fixes: QTBUG-132783 Change-Id: I6ff21da55381c20304b57556cd5b75191975a5d4 Reviewed-by: Olivier De Cannière <[email protected]>
The child recursion logic in transformChanged notes that we "Inform the children in paint order: by the time we visit leaf items, they can see any consequences in their parents". This holds true for subclasses of QQuickItemPrivate, that process the call and then call the base class implementation. However in the case of updating the layer matrix we were doing it after recursing children, which breaks the documented logic. Similarly, we were notifying QQuickItem::ItemTransformHasChanged after recursion, which meant that observers would get callbacks in reverse paint order when observing a hierarchy of items. We now handle both these cases before recursing. Pick-to: 6.9 Change-Id: I373a2d7af11da65f66494322e44079ae04e95752 Reviewed-by: Oliver Eftevaag <[email protected]>
Task-number: QTBUG-131012 Pick-to: 6.9 Change-Id: If2772b615cab303d018b0353ee7432596bff6c7c Reviewed-by: Kaj Grönholm <[email protected]>
Fixes: QTBUG-132514 Pick-to: 6.9 Change-Id: Iaec314c6139bae82a6668a13dcaa88206b3a8579 Reviewed-by: Topi Reiniö <[email protected]>
Track the unresolved types in a central place and only warn once for each of them. Make sure that we still mark them as wrapped in implicit components even if we don't warn, though. Realize that custom parser parents potentially obfuscate any types defined inside their scope, not only the ones we look for when setting bindings. Pick-to: 6.9 6.8 Task-number: QTBUG-124913 Change-Id: I30d911dc92d1e4359db66671bf62393f2f852b6c Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
If a property cannot be found, we don't need to check its type or even try to compile a binding for it. We also shouldn't claim a property doesn't exist if we cannot find it. We may have failed to resolve the type after all. Pick-to: 6.9 6.8 Task-number: QTBUG-124913 Change-Id: I93ef12e888762ae03f8fa6b1bef2e8d04ba3d4b2 Reviewed-by: Sami Shalayel <[email protected]>
Change-Id: I78a00808837fac12d553f9a665da704775e7ee32 Reviewed-by: Sami Shalayel <[email protected]>
Amends commit 6891392 Change-Id: I5969a584d576a6ac416c8b0d48d549ce64d28225 Reviewed-by: Sami Shalayel <[email protected]>
Event filtering can be problematic. At least this was a more reasonable use case for a filter than some others in Controls; still, we already have a switch case in QQuickItem::event(), and plan to add a virtual QQuickItem::contextMenuEvent() in Qt 7, so we might as well mock it up now as QQuickItemPrivate::contextMenuEvent(). Dispatching only the QContextMenuEvents ought to be cheaper than filtering all events. On the downside, ExtraData gets a little bigger. We add QQuickItemPrivate::setContextMenu() because QQuickItem::ExtraData is not exported; and to enable categorized logging when one menu is replaced with another, this setter returns the previously-known menu, if any. Pick-to: 6.9 Change-Id: I9f2553fb579409becf797046dcc473260320c6a5 Reviewed-by: Mitch Curtis <[email protected]>
They're fixed, after commit 529491f avoiding starting a thread unless necessary and qtbase commit 2f69a05bd0cd7ce63890f709ff3ed7a4f78acd70 changing the thread destruction order again. Pick-to: 6.9 Change-Id: I46d585c0f4299f3c7ed9fffdf4f1b021b4186ed7 Reviewed-by: Ulf Hermann <[email protected]>
This signal allow to open a custom menu, which might not inherit from QQuickMenu. The usecase is for KDE: we already have a ContextMenu which opens a bottom drawer on mobile platforms and a traditional menu on desktop platforms. See https://invent.kde.org/libraries/kirigami-addons/-/merge_requests/337 Pick-to: 6.9 Change-Id: I5dafbd6314ebdd066ccc6a386b4e2c07caab285e Reviewed-by: Shawn Rutledge <[email protected]>
Resolves QDoc warnings of type Macro '\tab' invoked with too few arguments (expected 4, got 3) Pick-to: 6.9 Change-Id: I1e0dc56daa9eb3a8565e4d691a4504bfa3d0747c Reviewed-by: Nicholas Bennett <[email protected]>
Added the missing \l Fixes: QTBUG-133745 Pick-to: 6.8 6.9 Change-Id: I4357e15ea54230a86501c338a26d6ffc7ce403cf Reviewed-by: Assam Boudjelthia <[email protected]> Reviewed-by: Rami Potinkara <[email protected]>
QML methods have to also be annotated with the \qmlmethod, which this newly added one did not. Pick-to: 6.8 6.9 Change-Id: I01f7241130c4f098bc94978e71c83891da4103a4 Reviewed-by: <[email protected]> Reviewed-by: Aleix Pol Gonzalez <[email protected]>
Creating library qtbase\lib\Qt6Quick.lib and object qtbase\lib\Qt6Quick.exp mocs_compilation.cpp.obj : error LNK2001: unresolved external symbol "public: __cdecl QExplicitlySharedDataPointer<class QFontVariableAxisPrivate>::~QExplicitlySharedDataPointer<class QFontVariableAxisPrivate>(void)" (??1?$QExplicitlySharedDataPointer@VQFontVariableAxisPrivate@@@@qeaa@XZ) qtbase\bin\Qt6Quick.dll : fatal error LNK1120: 1 unresolved externals Since qtbase ac5ab8ce32c6bd4122ecc690d30eade5c4f4bf2a ~QESDP<QFontVariableAxisPrivate> is not exported, but it should not need to be. This error is believed to be due to an MSVC bug. Fixes: QTBUG-133494 Pick-to: 6.9 Change-Id: Ia5fdbf7153251c60f23470d38ad19dde778ebf83 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Zhao Yuhang <[email protected]>
The sidebar is intended to be an implementation detail, and thus not intended to be used by users directly. However, it makes sense for it to have its properties flagged as FINAL for the performance gain. In addition, a new signal didn't have a revision. Found in API review. Pick-to: 6.9 Change-Id: I82b4314a3cf7f8336efe728a6c8da5d22a52a800 Reviewed-by: Ulf Hermann <[email protected]>
Replace the use of -1 to indicate unset corner radii with explicit bitfield flags to track whether each corner radius is set. The default value for unset radii remains 0.0. Fixes: QTBUG-120188 Change-Id: If51a0165386a0c474ecd57ef23310d1c28f0f60b Reviewed-by: Shawn Rutledge <[email protected]>
Pick-to: 6.9 Change-Id: I39312a020939f4de5b80e9a0bf4b39294e9fa7f5 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: MohammadHossein Qanbari <[email protected]>
While those properties may be of type Component, they don't have to. We can in fact not resolve anything resembling an ID while inside one of those objects because we cannot determine the component boundaries. Amends commit dea8e38 Pick-to: 6.9 6.8 Fixes: QTBUG-133460 Change-Id: Iac7294166d38ce591c45c0d31b139a52eda70fc1 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
It contained quite a few inaccuracies. Also, move the docs for operator== up, into the same block as the other docs for QQmlListReference. Add a link to QQmlListReference to the docs of QQmlListProperty. Pick-to: 6.9 6.8 Task-number: QTBUG-130705 Change-Id: I4cb2aa1a78215719a4a409c75c0a97aef404ef18 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Alexei Cazacov <[email protected]>
If you use QQmlApplicationEngine to auto-load translations you need to make them visible by placing them inside the relevant QML module. Pick-to: 6.9 6.8 Fixes: QTBUG-116588 Change-Id: I4b768c6ad6ef763a5d6c43aaa794860f7751398a Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Change the compiler/platform detection macros to check whether a macro is defined, before testing its value. See also the discussion at https://bugs.webkit.org/show_bug.cgi?id=167643 https://codereview.qt-project.org/c/qt/qtbase/+/618094 Task-number: QTBUG-132900 Change-Id: Ic3cc02b23e034cc7622e899b4acc381166a9ec95 Reviewed-by: Ulf Hermann <[email protected]>
[ChangeLog][CMake] The FILENAME_VARIABLE option of qt6_generate_deploy_qml_app_script, which was deprecated in 6.6.0, has been removed. Change-Id: Idb73337c8fab5fe009d500e371855e9fec677c37 Reviewed-by: Alexey Edelev <[email protected]>
QQuickMenuPositioner positions child menus to the right of the menu item that opened it. In additon, the overlap and rightPadding properties are used to offset the x position, which styles can use to fine tune how exactly submenus should be positioned relative to the parent menu item. The parent menu's padding is used, because the submenu's position is initially set to be relative to the menu item that opened it. When the position is offset by the padding, it will position itself to the parent menu, and not just the parent menu item. 7add186 introduced the flipping behavior for menus that have their popupType set to Popup.Window. Causing menus that don't have enough space to open to the right side, to instead open on the left side. The aformentioned patch used the overlap, but forgot to also add the leftPadding, when flipping submenus. Also fix the test tst_QQuickMenu::subMenuFlipsPositionWhenOutOfBounds, which was previously broken on all styles that modified the rightPadding property of Menu. 6e327f2 introduced a temporary fix, in order to unblock CI, and this patch should fix it properly. Pick-to: 6.9 6.8 Change-Id: I62c58617dbcf27c097009859213cb78eb59a8008 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Amends commit 7da85b0. Pick-to: 6.9 6.8 6.5 Task-number: QTBUG-89432 Change-Id: I67017c6fe26830aad227c97e1e9d65de09215729 Reviewed-by: Alexei Cazacov <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
So that ContextMenu can open when e.g. a Drawer is in the scene. [ChangeLog][Important Behavior Changes][Controls][Overlay] The pressed and released signals are no longer emitted for right clicks. This is to allow ContextMenu to work when controls like Drawer are used. Fixes: QTBUG-132765 Pick-to: 6.9 Change-Id: If329a2ddaaf76e498e7ae2cd48a899fc23dba6b9 Reviewed-by: Shawn Rutledge <[email protected]>
It was initially failing in CI. There might be a better way though, so this patch is separate for easy reverting. Change-Id: I4ec72bb71927ca10871c8e3c5863141b13fe5472 Reviewed-by: Shawn Rutledge <[email protected]>
This includes: - turning VERIFY_SOURCE_SBOM ON - adding rules to the licenseRule.json files - correcting the licensing given via REUSE.toml files - renaming license files not located in LICENSES folder. Their name needs to be prefixed with `LICENSE.` to be ignored by reuse and excluded from the source SBOM. The names are updated in the corresponding qt_attribution.json A lot of files are skipped during the license test, but all are present in the source SBOM. This is why corrections are needed before turning the source SBOM check on. [ChangeLog][Third-Party Code] Renaming the license files with prefix LICENSE. to have them ignored by reuse tool. Task-number: QTBUG-131434 Pick-to: 6.9 6.8 Change-Id: I2b3e4750405f13a97b350ee65def30f1330526a3 Reviewed-by: Joerg Bornemann <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Running clazy on the qt multimedia codebase found a few missing emit statements in qtdeclarative. Pick-to: 6.8 6.9 Change-Id: If34411774cda45e2142763c910df04f91b5ad1da Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Re-declaring metatypes is not supported. It worked for built-in types (it was actually a no-op), but it's not a good idea. Pick-to: 6.9 Change-Id: I536f590e06906b394066fffd78e7f8fe6fda49ae Reviewed-by: Fabian Kosmale <[email protected]>
Adds useful information to diagnose the cause of active focus failures. The failure message will now look like this: FAIL! : tst_QQuickMenu::FluentWinUI3::contextMenuKeyboard(Popup.Window) 'firstItem->hasVisualFocus()' returned FALSE. (control: MenuItem_QMLTYPE_1545(0x5db854767310, name="firstMenuItem", parent=0x5db8549a28d0, geometry=0,0 190x30, z=1) activeFocus: true focusReason: Qt::OtherFocusReason activeFocusItem: "MenuItem_QMLTYPE_1545(0x5db854767310, name=\"firstMenuItem\", parent=0x5db8549a28d0, geometry=0,0 190x30, z=1)") We add both a function and a macro, as this allows the helper to be stepped into while debugging. Task-number: QTBUG-133858 Pick-to: 6.8 6.9 Change-Id: I26014ee93f5f053df1ac19ac6e673876abce1258 Reviewed-by: Doris Verria <[email protected]>
Seems to help with an odd MSVC LTO error: error C2440: 'static_cast': cannot convert from 'T *' to 'T *' with [ T=QObject ] and [ T=QQuickItem ] qtbase/src/corelib/kernel/qpointer.h(75): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or parenthesized function-style cast Task-number: QTBUG-133961 Change-Id: Iee9fd1821aaeec305115b8b860c86ced6df530ab Reviewed-by: Thiago Macieira <[email protected]>
Due to 76bb559, the QML status change listener is no longer a functional interface, and cannot be represented with a lambda. Replace usage of this interface with a fully formed instance. Fixes: QTBUG-132461 Pick-to: 6.9 Change-Id: Ib456df209189e9657fb65987e7f5b13f19e7b8f5 Reviewed-by: Assam Boudjelthia <[email protected]>
Some styles are setting `modal: true` in Dialog.qml, which affects the tab focus order. This test fixes it, by checking whether the current style uses modal dialogs or not. Task-number: QTBUG-133530 Pick-to: 6.9 6.8 Change-Id: I8723e54c25bf487f885a5190c4167e93501453b3 Reviewed-by: Mitch Curtis <[email protected]>
Add code snippet for IntValidator and Doublevalidator in Doc. Update with suggested improvements. Fixes: QTBUG-16051 Pick-to: 6.8 6.9 Change-Id: Ia34afb23338ca78a9b853b049f9959f2700b8334 Reviewed-by: Edward Welbourne <[email protected]>
The GrabTransition enum has no "none" value: there's no reason we need one for public API. But this test records events and transitions, and needs a way to record that no grab transition happened. It's just an int anyway, so QCOMPARE_EVENT simply casts it before comparison; and in any ternary-if expression using NoGrab, we cast both arms to int. The warning was warning: enumerated mismatch in conditional expression: ‘<unnamed enum>’ vs ‘QPointingDevice::GrabTransition’ [-Wenum-compare] 549 | QEventPoint::State::Pressed, itemIgnoreMouse ? NoGrab : QPointingDevice::GrabExclusive); | ^ Next, there is -Wint-in-bool-context: fixed by surrounding the ternary if's with parentheses. Replace C-style with constructor-style casts while we're at it. Change-Id: I0796abc8e19c1842a6b2f4e343d566ff0cc226e6 Reviewed-by: Matthias Rauter <[email protected]>
When we store the QQmlParserStatus for an attached object, we put it into a vector to call it later. However, the status also contains a back-reference to the container, so we need reference stability. That is not given if we use a vector, and the vector needs to reallocate to grow. Avoid the issue by using a std::deque, which ensures reference stability as long as one does not insert in the middle (which we don't). This is rather suboptimal with MSVC's standard library, but we want a minimal fix to unblock other patches. Finding a more suitable container can be deferred to a later point. Pick-to: 6.9 Fixes: QTBUG-134035 Change-Id: I7c3689ba73060abb47f32a20bc2301b82cf48fa6 Reviewed-by: Shawn Rutledge <[email protected]>
Pick-to: 6.9 Change-Id: I8c21846fa6d2afaaa7caa30d99d7d8b17b38e71c Reviewed-by: Kaj Grönholm <[email protected]>
You can now use the QT_QML_GENERATE_AOTSTATS CMake variable to control whether aotstats get generated in Qt or in users projects. [ChangeLog][Qml] It is now possible to control whether QML Compiler statistics (aotstats) get generated by setting the QT_QML_GENERATE_AOTSTATS CMake variable to ON or OFF. The default value is ON. Fixes: QTBUG-131002 Task-number: QTBUG-128323 Pick-to: 6.9 6.8 Change-Id: Ibfd55b22d3d284218053bbf67f654c63a7507bae Reviewed-by: Ulf Hermann <[email protected]>
Fixes: QTBUG-130370 Pick-to: 6.9 6.8 6.5 Change-Id: Ie2213afd357274548c60c29371729ba32bd7b29b Reviewed-by: Ulf Hermann <[email protected]>
MockPlatformTheme::m_colorScheme was initialized to Unknown, which translated to System theme, which was handled as not Dark theme in the test case. This worked, if the actual system theme was Light. However, when the system theme is Dark, QGuiApplication::styleHints colorScheme is initialized to Dark as well. In this case, the test case failed, because the styleHints did not change and the Material style did not receive theme change event, resulting in test failure. Pick-to: 6.9 Change-Id: If9bd4a942344b19dffe2b3ffb96faf0c18b9e2b0 Reviewed-by: Mitch Curtis <[email protected]>
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.