-
Notifications
You must be signed in to change notification settings - Fork 187
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
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
Conversation
This file contains 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]>
Olivier De Cannière 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. |
By limiting the page stacking there is no need for handling multi-page navigation. Fixes: QTBUG-132715 Change-Id: Ibbd99834d2740653340fd785f94c19215eab2e7d Reviewed-by: Mitch Curtis <[email protected]>
Integrity seems to be unhappy about the qmllint plugins, so disable them for cross builds. Task-number: QTBUG-129308 Change-Id: I7601ec8db2aac287caa96a1fd81ab8426fcdd5d7 Reviewed-by: Alexandru Croitor <[email protected]>
Implement the WarnImperativeCodeNotEditableInVisualDesigner warning in the qdslintplugin that warns whenever a certain list of properties get assigned imperatively. Change the wording of the warning to be more explicit in what it actually does, as the current warning does not seem to be documented anywhere. Task-number: QTBUG-129308 Change-Id: Ie2d8d526e778a6d986dcfe6a65fb393232d954a6 Reviewed-by: Thomas Hartmann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Implement ErrUnsupportedTypeInQmlUi that warns about unsupported types in .ui.qml files. Also reuse the same warning message. Task-number: QTBUG-129308 Change-Id: I2a9387852ee467920d2907af13217e147587d2fa Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Marco Bubke <[email protected]>
Otherwise, the following sequence would end up in an inconsistent state: proxy1.target = rect1 proxy1.target = rect2 The expected end result of this is that proxy1 will only control rect2. However, without this patch QQuickLayoutItemProxyAttachedData would remain attached to rect1 (and rect2) Pick-to: 6.8 6.9 Change-Id: Id97e24a2e82bbe19263868415bab4cf2033815b3 Reviewed-by: Matthias Rauter <[email protected]>
Pick-to: 6.9 Change-Id: Icfb8f83b7308ace7052e66e041175833c22d3a9c Reviewed-by: Ulf Hermann <[email protected]>
For some reason the test used the contentItem's boundaries, but the size of the menu (including the background) can be bigger than that. Fixes: QTBUG-133380 Pick-to: 6.5 6.8 6.9 Change-Id: I6adc0cf103322040795b566915db6b0bd423f57c Reviewed-by: Doris Verria <[email protected]>
The line-by-line formatter would in certain cases considier that a property definition was completed after having seen only the `property` token. Fix the state transition to also handle T_RESERVED_WORD tokens. Picking this back to previous versions is not trivial as this particular situation seems to break in different ways first. Fixes: QTBUG-133398 Pick-to: 6.9 Change-Id: I1123fe41e55d2d31c5d245dafe6c8684bca93e39 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
From is defined as an identifier with a special meaning in the context of imports. This means it should generally be accepted as an identifier in other contexts. This fixes weird line indentation issues with the IndentingLineWriter. Fixes: QTBUG-132065 Pick-to: 6.9 6.8 Change-Id: Iea5bf3af5d43af9a97f0f8e7867d12337e4041ca Reviewed-by: Fabian Kosmale <[email protected]>
Task-number: QTBUG-130156 Pick-to: 6.9 6.8 Change-Id: If6d365b6b0819cc018a01427f468cfa2b2a3eeea Reviewed-by: Mitch Curtis <[email protected]>
Fixes: QTBUG-133301 Pick-to: 6.9 6.8 Change-Id: I3032d790ecf850dce93ad719a3ab63d0773d53c3 Reviewed-by: Santhosh Kumar <[email protected]>
We need to assign them right away when creating the module. If we do it later on, there are a lot of different code paths to cover and in fact we were missing some. Pick-to: 6.9 6.8 Task-number: QTBUG-133053 Change-Id: I57e381c787f504eb9bcd8c2041e41b4f1d1f8b53 Reviewed-by: Fabian Kosmale <[email protected]>
For objects assigned to proeprties we use a QQmlObjectCreator with the same shared state as the top level QQmlObjectCreator. However, that one's top level required properties are obviously not the ones of the outer object creator. This exposes a different bug: If objects assigned to properties of delegates cannot be created due to unset required properties, we should delete the delegate right away before adding it. Currently the relevant code warns about the unset required properties but still leaves the object intact. Pick-to: 6.9 6.8 Fixes: QTBUG-133052 Task-number: QTBUG-133129 Change-Id: I208fcbffa17443ad62c4aaa81aaec291c8cdcc82 Reviewed-by: Fabian Kosmale <[email protected]>
Alias property signals were only connected when their corresponding signal handlers were explicitly defined in QML. This approach missed cases where signal handlers are created and connected in C++ code, causing alias property changes to fail to emit their signals. Fixes: QTBUG-120951 Change-Id: Ia84b078795e9c89668f916de92c1be41f07b6694 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
This commit adds an example that demonstrates how to specify a set of transforms for Item. The property's return type is `QQmlListProperty`. From Item's perspective, the `transform` property is read-only. However, the property provides access to the QQmlListProperty instance. The content of the QQmlListProperty instance itself is editable. Fixes: QTBUG-131903 Pick-to: 6.9 6.8 Change-Id: I80e82c7ee0c1c4d91c3760ab8820446dfcccdfe1 Reviewed-by: Ulf Hermann <[email protected]>
Certain objects in V4 are `ReferenceObject`s, keeping tracks of the data they originate from and performing read/write-backs from/to it to keep the data in sync between the reference object and the original data. For example, some C++ types are converted to reference objects, so that mutations on the QML side and the C++ side are represented on both sides. `DateObject`, which implementes the Javascript `Date` object, is a `ReferenceObject` and is used, for example, to track `QTime`, `QDate` and `QDateTime` objects coming from the C++ side. While it has implemented the required infrastructure for read-backs for quite a while, it has not really made use of it in its methods, so that they would generally never consider the original data even whey they are supposed to. Thus, ensure that a `DateObject` performs a read-back in its various "getter"/"conversion" methods, when appropriate, to remain in sync with its origin. Add a series of test cases to ensure that the affected methods will now read-back as required. Change-Id: I48e841ff0f176f3ab6ab08ede999352f71297fca Reviewed-by: Fabian Kosmale <[email protected]>
When certain types are passed over from C++ to QML, QML converts them to a QML usable representation that keeps track of the original data. To do so, the QML representation of the object performs read/write-backs when required to ensure that the representation is kept in sync with the original data, by reading the latest data from the source or writing back changes that are performed on the QML side. Generally, the representation on the QML side cannot know when the original data was modified, so that it has to read the data again each time it accesses the representation to ensure that the latest data is available. The reads can be very expensive. For example, the following snippet: ``` JSON.stringify(foo) ``` Where `foo` is, for example, a `QStringList`, might need to read the data multiple times for each element in the list. For representations that provene from a QObject's property that has a NOTIFY signal, it is possible to cut down on the number of reads by reading only when the data was effectively changed since the last read, that is, the NOTIFY signal of the property was emitted. Similarly, if the property is a BINDABLE, we can subscribe to the BINDABLE itself to track whether a change was performed or not. Thus, to reduce the number of reads when possible, `ReferenceObject`, the base representation for objects that perform read/write-backs, was modified to take into account the NOTIFY signal or BINDABLE status of a property when referencing data that originally provenes from a `QObject`'s property on the C++ side. `QObjectWrapper`, `QQmlTypeWrapper`, `ReferenceObject` and `QMLValueTYpeWrapper` were modified with the usual `Q_MANAGED_TYPE` macro, to allow identifying instances of those objects, which is used to enable the new implementation. The intializer for `ReferenceObject` was modified to behave differently when the referenced data comes from a `QObjectWrapper`, which wraps a `QObject` provening from C++, or a `QQmlTypeWrapper`, which can wrap a `QObject` that is a singleton or an attached property. When it is so, and the part of the wrapped `QObject` that is referenced is a property that has a NOTIFY signal or is a BINDABLE, the `ReferenceObject` instance will now connect to the signal or subscribe to the BINDABLE. A newly added flag, `isDirty`, will be set when the signal is emitted and is used to track whether the data has changed since our last read. `QV4::ReferenceObject::readReference`, the base implementation for read-backs, was modified to take into account the new "isDirty" flag. When the flag is not set, we expect to already have the latest data, and thus do not actually perform the read anymore. Furthermore, the same implementation was modified to take care of setting the `isDirty` flag to a correct state after a read is performed. The connection to the NOTIFY signal is performed through the existing `QQmlNotifier/Endpoint` infrastructure, which allows, between others, to connect to signal emitted by a `QObject`, and should be more performant than a naked connection. Similarly, a BINDABLE is subscribed to by using its usual interface. A new callback was added to be used by `ReferenceObject` to allow setting the `isDirty` flag on the signal emission. `ReferenceObject` will now store a `QQmlNotifierEndpoint` or a `QPropertyNotifier`, that will take care of listening to upstream changes and set the dirty flag as required. A few bug-provening test cases where added to `tst_qqmllanguage` to test that the number of unnecessary reads was indeed reduced. Additional test cases were added to inspect certain aspects of the new implementation to ensure that it works in certain common or edge cases. The internal documentation for `ReferenceObject` was modified to mention this new behavior. Fixes: QTBUG-118847 Fixes: QTBUG-127322 Change-Id: Id62979ae4e03910e1165c293837e5d884727dddc Reviewed-by: Ulf Hermann <[email protected]>
- Wait for popup transitions to finish - Fix popupWindow size check to include windowInsets Pick-to: 6.8 6.9 Task-number: QTBUG-133530 Change-Id: Ic5cb8bcab1b8d690181dcae84ef7b115c77113fc Reviewed-by: Jan Arve Sæther <[email protected]>
This reverts commit 4f2b6cb. Reason for revert: The debugger tests still tend to hang on macOS/x86_64 Pick-to: 6.9 Change-Id: I1b9470ab6fe73f936ce010d7d7b43f6493207981 Reviewed-by: Fabian Kosmale <[email protected]>
When importing a JavaScript module again from the same QML engine, the resulting executable compilation unit should be the same as before. This only works if we use the same base compilation unit. However, so far QQmlScriptBlob did not store the compilation unit in the central type registry. Therefore, it could not be found when importing the module again. This broke when we transitioned away from storing JavaScript modules in a separate data structure and instead started treating them like any other compilation units. In order to fix this, generate synthetic QQmlType and QMetaType instances also for JavaScript compilation units and store them in the relevant data structures. This makes it possible to locate them when we need them. Pick-to: 6.9 6.8 Fixes: QTBUG-133053 Change-Id: I0425cd70a3745e793fec03105f58b708726ede06 Reviewed-by: Fabian Kosmale <[email protected]>
We can store them in urlToType like all other types. Change-Id: Ia870ada1346e21aa2f87895dcac2c1871811dad2 Reviewed-by: Fabian Kosmale <[email protected]>
There used to be a broken version of qmlRegisterType() that effectively registered anonymous types without URI. That method has been deprecated in Qt 5.14 and removed in 6.0. Since then there is no supported way to register types without URIs anymore. Amends commit dc722a1 Change-Id: I9a795d97eb0f843925080e0f00abc406adfc2f3b Reviewed-by: Fabian Kosmale <[email protected]>
We want the different paths to resolve the same way in order to produce a consistent result. canonicalFilePath() resolves symlinks and thereby interferes with user-visible path structure. Use absoluteFilePath() and QDir::cleanPath() instead. Pick-to: 6.9 6.8 Fixes: QTBUG-133526 Change-Id: Ieaa55ccf909594944f5873dc8c61f73b1daa975a Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
I suspect this is related to why MSVC appears to require a QESDP destructor symbol, but it's idiomatic Qt, so do it independent of the ~QESDP problem. Task-number: QTBUG-133494 Task-number: QTBUG-102948 Pick-to: 6.9 Change-Id: Idedd6d2b552d44f41d48fffdc3d61968a939b530 Reviewed-by: Marc Mutz <[email protected]>
- The order of events is tricky to check for reliably for Menus that have transitions, and it's not really that important. - Fix Imagine style binding loop and native style customization warnings. - Wait for isOpened. Fixes: QTBUG-133475 Pick-to: 6.9 Change-Id: I1a8c0363802c1dda9f63fc48d14783a0a677a80b Reviewed-by: Doris Verria <[email protected]>
Disable or wait for menu enter transitions when appropriate. Task-number: QTBUG-133530 Pick-to: 6.8 6.9 Change-Id: I5b256cfc74852775b24cf26ef3432c1dec7ee703 Reviewed-by: Doris Verria <[email protected]>
The Material style uses enter and exit transitions, which causes the menu to not popup instantly. The test didn't take this into consideration, since it was designed with only the Basic style in mind. It should now pass with the Material style. Pick-to: 6.9 6.8 Change-Id: I1a55564438ef4d65d597123d12de1e838e55b3b5 Reviewed-by: Jan Arve Sæther <[email protected]>
This test is very flaky when running it locally with the Material style. Part of this has to do with the popup's x position sometimes being half a pixel away from the intended location. Fix this by tolerating this 0.5 pixel difference. The reason behind this difference is currently unknown. Another issue is that we don't wait for the menu to close before attempting to open it again. Pick-to: 6.9 6.8 Fixes: QTBUG-133566 Change-Id: I08e68a87d477e6b3a9ea0b5b3350e5c8dc57919b Reviewed-by: Mitch Curtis <[email protected]>
Implement QQuickHeaderViewDelegate as the base class for header view delegates, introducing 'headerView' and 'orientation' properties. Separate previous delegate settings into HorizontalHeaderViewDelegate and VerticalHeaderViewDelegate components for Basic, Fusion, and Imagine styles. This change improves the modularity and reusability of header view delegates across different styles. It also allows for more consistent behavior and easier customization of header views. A test suite has been added to verify default property settings and ensure the new components work without warnings. [ChangeLog][QtQuickControls][HeaderView] Add dedicated delegate components for vertical and horizontal header views. Task-number: QTBUG-70326 Change-Id: I8831e77f6909bdae13c3a7262145ab156f63a59a Reviewed-by: Mitch Curtis <[email protected]>
This patch adds documentation for the delegates of both horizontal and vertical header views, improving understanding and customization of header behaviors in the application. Change-Id: If6a59e0e0aad67bb26765c76f265d21de84a2498 Reviewed-by: Richard Moe Gustavsen <[email protected]>
The menubar item has special handling of key presses, which is not called under accessibility/screen reader. Add an accessiblePressAction function, make sure it is called and emit triggered() like the keyRelease would do. Task-number: QTBUG-115926 Change-Id: Iee7b4524e0527bada518c9cb4e5300a4174dbf58 Reviewed-by: Jan Arve Sæther <[email protected]>
Task-number: QTBUG-134442 Change-Id: I39dea0af854e41fd828943b2c10b2c51e66c979b Reviewed-by: Fabian Kosmale <[email protected]>
If a compilation unit for the given URL already exists in the type registry, we can safely use it since anything in the type registry is shareable. An exception to this are requests with explicit inline source code. Those cannot be cached at all. Conversely, if we were to re-compile, that's not only wasteful but we may end up with diverging type hierarchies and mismatched types. Revert commit d0e16e3 since it has become counter-productive now. We really want to have exactly one base compilation unit for each type, and that should be universally accessible. When d0e16e3 was written we had separate base CUs for each engine, and we didn't want those to accidentally find each other. Realize that composite types have to be indexed by url(), not finalUrl(), since url() includes any file selectors while finalUrl() does not. Fixes: QTBUG-134398 Pick-to: 6.9.0 6.9 6.8 6.8.3 Change-Id: I130cdc27ebd8a2814e194478a27eef5bb7f79eb7 Reviewed-by: Fabian Kosmale <[email protected]>
Change-Id: I94a9220b27fb9160e2251342ac6f44f7eccf5feb Reviewed-by: Richard Moe Gustavsen <[email protected]>
Also add a manual test Change-Id: I28955a454eeaa8ab52431c85cd99649ccbb667d0 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Dating back at least to 507efe5 the initial plan was that an ungrab calls setActive(false), and that ought to be enough, because every pointer handler can react to deactivation in its own way. But QQuickTapHandler did not override onActiveChanged(); and it would still not work very well to do that, because setPressed() takes various arguments that are not available in onActiveChanged(). So an odd state of dubious utility was possible: it could be inactive and pressed at the same time. That's now prevented, as long as TapHandler relies on an exclusive grab. If a TapHandler's window is deactivated while it has an exclusive grab, onGrabChanged() is called with a null event, because the deactivation event is not a pointer event. Don't crash, and don't get stuck in pressed state either. Currently in this scenario, the grab transition is UngrabExclusive, not CancelGrabExclusive. If we are sure that a TapHandler should no longer be pressed if its window is no longer active, and one symptom is that it's ungrabbed, probably it makes sense to be consistent that when it loses any kind of grab that it has taken, it should no longer be pressed. But then we would run into the issue with the null event as described above. So these changes are best done together. If a TapHandler's window is deactivated while it has a passive grab, the TapHandler cannot be deactivated or un-pressed, because it is not in active state in the first place. (As documented, `active` means it has an exclusive grab.) Fixes: QTBUG-118454 Fixes: QTBUG-124777 Change-Id: I855a0e0ddcb13866af5501f6164b6b18b41dda2a Reviewed-by: Richard Moe Gustavsen <[email protected]>
This would have caught the fact that we were neglecting to link against QmlPrivate. Task-number: QTBUG-134274 Change-Id: I18b3243ad866501ceac6bf7e3a0fe3b80f5223e5 Reviewed-by: Olivier De Cannière <[email protected]>
Note that any actual language support for final will be added in later commits. Task-number: QTBUG-98320 Change-Id: I8b8f9fbc998219ed4cd504c10f54bc3483e65f06 Reviewed-by: Sami Shalayel <[email protected]>
The bit is taken from nameIndex. It should have more than enough capacity with 31 bits. The reserved bit will be used as a flag in subsequent commits. A more typed and centrally enforced aproach to the indexes will be necessary in the future. Change-Id: Ia7c686affba6d5320e674dd3f32b7c59b6321e22 Reviewed-by: Ulf Hermann <[email protected]>
This works the same as the FINAL attribute to Q_PROPERTY. Task-number: QTBUG-98320 Change-Id: Icc2cf1afb5354fd711770f7147ded853b74cd1da Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Change-Id: I0ffa565fcefb2f44b180395d58120f52463aa950 Reviewed-by: Semih Yavuz <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Also, only suggest completions for property attributes that respect the default, final, readonly, required order. Change-Id: I1ea9e4cc60625bfbad9cfdea3bb0391e2030b6c6 Reviewed-by: Sami Shalayel <[email protected]>
Implement ErrUnsupportedTypeInQmlUi that warns about unsupported root types in .ui.qml files. Also reuse the same warning message. Task-number: QTBUG-129308 Change-Id: I83a2cb39367ea3fe6ac65ab1e0b16c04cf467d73 Reviewed-by: Ulf Hermann <[email protected]>
Constexpr already implies static on namespace level, so remove the extra static keywords. Change-Id: I105d0f327612248d2859124627a1fdd9e43e0f80 Reviewed-by: Marco Bubke <[email protected]>
18c4bf8 made all non-native dialogs in QtQuick.Dialogs use `Window` as their popupType, in order to make the dialogs appear as top-level windows. However, there are some users that wish to use these non-native dialogs without them being top-level windows, like they were before 6.8. This was unfortunately not possible, since there weren't any API to customize the popupType for QtQuick.Dialogs. We were reluctant at first, to provide properties that only customize the non-native dialogs, without having any effect when native dialogs are used. However, there needs to exist some way for the popupType to be reverted back to `Item`, and thus, it makes sense to have a property for it. Fixes: QTBUG-134037 Change-Id: Idcfe4d3960c7002566f344ae32422c9cb7ce7631 Reviewed-by: Jan Arve Sæther <[email protected]>
Fix the typo in the warning. Pick-to: 6.5 6.8 6.9 Task-number: QTBUG-133497 Change-Id: I72adf931b05a0fe608469885b0f41018e818efe4 Reviewed-by: Olivier De Cannière <[email protected]>
* add dummy CMakeLists.txt files * add qtabstractlistmodel examples to the examples CMakeLists.txt Change-Id: I9af5bcb79a5cc71e7a4a50a5a674b97ba70538b0 Reviewed-by: Soheil Armin <[email protected]> Reviewed-by: Konsta Alajärvi <[email protected]> Reviewed-by: Assam Boudjelthia <[email protected]>
Unblacklist the following auto tests that are no longer flaky on Opensuse: movingAndFlicking, ignoreNonLeftMouseButtons and nestedSliderUsingTouch. Fixes: QTBUG-118060 Fixes: QTBUG-132559 Change-Id: If021573866dce7e98c7956b4e9ff2c2753aa3616 Reviewed-by: Shawn Rutledge <[email protected]>
Unblacklist tst_qquickListView2::isCurrentItem_NoRegressionWithDelegateModelGroups as it is no longer flaky on Opensuse. Fixes: QTBUG-132631 Change-Id: Iaeb47fd3409d600ea9f27115f1bd32b63a9e8121 Reviewed-by: Shawn Rutledge <[email protected]>
Unblacklist tst_qquickshortcuts::multiple and shortcuts on Opensuse as they are no longer flaky. Fixes: QTBUG-74050 Change-Id: I66dd7d4b76aeb1ceaba3d2d28e075271e6d3ca26 Reviewed-by: Shawn Rutledge <[email protected]>
It was accidentally left after the changes done in ba3cc0a which replaced its usage with a different mechanism. Pick-to: 6.8 6.9 Task-number: QTBUG-110243 Change-Id: I485dbc3f7aa68d2f9c520a5eb29eb01ab11484cd Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Move QQmlSA::LoggerWarningId function documentation out of the QQmlJS namespace, as that causes match failures with QDoc. Qualify QQmlSA::Method and Element \fn signatures with the correct scope to help QDoc match them. Task-number: QTBUG-134250 Pick-to: 6.9 6.8 Change-Id: I89407afe251158d99a93f44c25bb6db1a83a6024 Reviewed-by: Paul Wicking <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
The original content of QML files seem of no use when qmlcachegen is enabled. DISCARD_QML_CONTENTS relies on the new qt_add_resources DISCARD_FILE_CONTENTS option. [ChangeLog][CMake] Added a DISCARD_QML_CONTENTS option to qt_add_qml_module(), that removes original QML and JS file contents from the target's resource system. Change-Id: I490c0fcbb198fcb66cc033c71ea1287891e21369 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Unblacklist tst_qquickMultiTouchPointArea::nonOverlapping() and mouseGestureStarted() as they are no longer flaky on Opensuse. Fixes: QTBUG-132647 Fixes: QTBUG-118065 Change-Id: Iece486a3d3b3fcf27776a41cbd51c3f5e8161959 Reviewed-by: Axel Spoerl <[email protected]>
Add back some tests that were previously flaky and have been blacklisted from tst_qquickTextEdit. They were flaky on Opensuse and have been fixed. Unblacklist mouseSelectionMode, inFlickableMouse, cursorDelegate Fixes: QTBUG-78846 Fixes: QTBUG-118067 Fixes: QTBUG-132632 Change-Id: Idebd339926b45447e0f41398f6d70b4499f982f4 Reviewed-by: Shawn Rutledge <[email protected]>
Remove tst_qquickMouseArea::pressOneAndTapAnother from blacklisted tats, as it is not flaky anymore on Opensuse. Fixes: QTBUG-82282 Change-Id: I8aec44d42fd6b3a98b7af982d8c793c6b99f0110 Reviewed-by: Shawn Rutledge <[email protected]>
As it stood, we would only commit changes in the edit delegate when the user pressed Enter, Return, or Tab/BackTab. The result was that the changes would be not be committed (and hence lost) if the user clicked somewhere else in the UI to transfer focus. This behavior is basically wrong. Instead, it should be the opposite, meaning that we should _always_ commit the changes unless the user explicitly cancelled editing by pressed Escape. This behavior is also verified by testing macOS "Numbers", and Google "Sheets" (both spreadsheet apps). This patch will therefore change the faulty behavior, so that we commit the changes whenever the edit item loses focus, unless it happened because the user hit Escape. [ChangeLog][Quick][TableView] The edit delegate will now emit the onCommit signal when it loses focus, unless it was closed from Qt::Key_Escape. Fixes: QTBUG-134247 Pick-to: 6.9 6.8 Change-Id: I1afab7bce9ba159330203d5a8d2b1af57ce9875b Reviewed-by: Shawn Rutledge <[email protected]>
- Don't explicitly set background positioning as this is automatically handled by the control to account for control insets. - Adjust radius of handle transform to be the same as the radius of the path angle arc - Protect in case of null handle or background - Simplify and refactor code Fixes: QTBUG-134001 Fixes: QTBUG-129424 Pick-to: 6.8 6.9 6.5 Change-Id: Ie54d2fd76e85e8c59e96110f4bc8b9e45623cea2 Reviewed-by: Mitch Curtis <[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.