-
Notifications
You must be signed in to change notification settings - Fork 195
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
+1,034,125
−262,187
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 <sami.shalayel@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
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. |
Fixes: QTBUG-137829 Change-Id: I660b08638daa8d78f03e184bc9eb0c2ab3488a44 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Without \c{} '--' is rendered as a dash instead of 2 hyphens Pick-to: 6.10 Change-Id: I8b78d8feaa2d1f20fdb9ecceb6b20c862d9da2d4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
The DialogButtonBox lacked an outline, which it should probably have, when a high contrast setting is enabled. The Dialog had a subtle outline, which we can make stronger. Task-number: QTBUG-134971 Pick-to: 6.10 Change-Id: I56a9032161c6fe7d21d0e1d4ccdd1edbdc8bfb70 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
In release builds, we don't want to generate code that indicate wrong usage of the model, so 313e271c730f18e9a1afc05f754b5cba86013783 in qtbase made the emission of stderr messages conditional. Pick-to: 6.10 Change-Id: I51f773943387f099b943d7b7980b6b2485e189bd Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Interacting with Popups in async Loaders caused a crash because the popup's window was null: 1 QScopedPointer<QObjectData, QScopedPointerDeleter<QObje qscopedpointer.h 112 0x7fffe8effafe 2 qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointe qtclasshelpermacros.h 137 0x7fffe8efd9c3 3 QQuickOverlay::d_func qquickoverlay_p.h 76 0x7fffe8f729d4 4 QQuickOverlayPrivate::get qquickoverlay_p_p.h 37 0x7fffe8f8c392 5 QQuickPopup::overlayEvent qquickpopup.cpp 3214 0x7fffe8f879c2 6 QQuickOverlayPrivate::handleHoverEvent qquickoverlay.cpp 192 0x7fffe8f6ee88 7 QQuickOverlay::childMouseEventFilter qquickoverlay.cpp 478 0x7fffe8f701e4 8 QQuickDeliveryAgentPrivate::sendFilteredMouseEvent qquickdeliveryagent.cpp 2897 0x7fffeb1bce04 9 QQuickDeliveryAgentPrivate::sendHoverEvent qquickdeliveryagent.cpp 1090 0x7fffeb1b25af 10 QQuickDeliveryAgentPrivate::deliverHoverEventToItem qquickdeliveryagent.cpp 1272 0x7fffeb1b2fd0 [...] We can avoid this by unparenting the popupItem, which removes it from stackingOrderPopups and hence excludes it from receiving events. The fix causes a crash in QQuickDeliveryAgentPrivate::clearFocusInScope after tst_QQuickPopup::closePolicy() finishes, because it tries to access the now null window. Add checks for that. Task-number: QTBUG-139306 Pick-to: 6.5 6.8 6.9 6.10 Change-Id: Id507e39497af3cacc832db4b23a2c27a0788dc74 Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
We were only testing the non-native file dialog under the Basic style previously, but we have 4 other styles (Fusion, Imagine, Material, Universal) that were never tested. This unfortunately caused recent regressions in both the FileDialog and FolderDialog. By running each test once for more styles, we should be better protected against future regressions in individual styles. In this patch, we enable all tests for Basic, Fusion, Material and Universal. The Imagine style is intentionally omitted due to a bug, which causes the tst_qquickfiledialogimpl::defaults() test to fail. This will be fixed later. Change-Id: I9b4ab722c5ad3052122024ad3a7a2f0a99de77e6 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
The test case added as part of patch 36216db shows up warning "There are still \"n\" items in the process of being created at engine in destruction.\". This patch allow this test case to pass if fail on warning enabled for the quick menu auto test. Task-number: QTBUG-137160 Task-number: QTBUG-139552 Change-Id: I7f31ffd096cc10b514542092a85f346e413b40dd Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
_qt_internal_android_get_target_deployment_dir no considers QT_USE_ANDROID_MODERN_BUNDLE and produces correct target deployment path even if the flag is disabled. In this case path matches to the top-level Android target build directory. Change-Id: Ia5817bf02dc7a8844fb8671d1945f1592af6b675 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Task-number: QTBUG-128232 Change-Id: Id6b882fe8f39442200b2a726a62c4c210261d7b5 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
The CheckBox indicator uses a ColorImage to blend the pixels of a png image file together with a QColor, in order to determine the colors that the indicator should use in any given state (e.g, checked, unchecked, hovered, etc). Unfortunately, blending the ColorImage with a color has its limitations when enabling a high contrast theme on Windows 11, such as when the checkbox is in the pressed and unchecked state, where the color image background will typically be mostly black, and this make the color bound on the color property much darker, or in this case, completely black. To get around this issue, we now have a Rectangle on top of the ColorImage, which is normally transparent, except for when high contrast is enabled. In that case, it will be rendered on top, and use the exact desired colors. Pick-to: 6.10 Task-number: QTBUG-129088 Change-Id: Ic65218d3759495611772f010c86a85109faaaadd Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
The RadioButton's indicator would not use the same colors as the WinUI3 RadioButton for users that had enabled a high contrast theme. The indicator background is normally a ColorImage. But for high contrast themes we prefer to keep things simple, and draw simple colors on top of the image. It is possible to change the binding on the ColorImage to use desired high contrast theme colors from the palette, but doing so will slightly alter the colors used, due to blending with the pixel values from the underlying png image used by ColorImage. Thus we put a rectangle on top, so that high contrast themes become independent from it. Task-number: QTBUG-129088 Pick-to: 6.10 Change-Id: I57ef286584f7df2c26bacbc0bc9f3bcb7a1a64cd Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
The test was still not account for safe margins in few places, it seems it didn't account for the fact that Android apps will have the margins set from the start. Fixes: QTBUG-139583 Pick-to: 6.9 6.10 Change-Id: Ia04a0ca2e7ad96a1e72a0d7fe9416634fb24e116 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
It's causing a lot of flaky failures, so blacklist it until it can be fixed. Task-number: QTBUG-131695 Change-Id: I81835fe1af677899abcc26534c5fd95dc69004cb Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
The test case tst_qquickmenu::loadMenuAsynchronously is getting flaky, w.r.t warning message, sometimes depending on the platform, and so it's required to extend the regex to consider that case. Amends patch: 2855347 Task-number: QTBUG-139552 Change-Id: I4766c7ac52a586dcf5b470ce5a676a51e2503cb5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This reverts commit ba7dcb6. 'threaded' renderer doesn't emit 'afterSynchronizing' like the other renderers. Fixes: QTBUG-139309 Reopens: QTBUG-126193 Pick-to: 6.10 6.9 6.8 Change-Id: Iec2d9cce919d00f7fefb84db153a48d035b4fb44 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
The fusion styled File and FolderDialog's FolderBreadcrumbBar would grow in width as the number of nested directories in the currentFolder path would grow. The other styles would give it a maximum size, which would limit how much it could grow, but not the fusion style. The FolderBreadcrumbBar's width also affects the entire FileDialog default (implicit) width, which would cause the entire dialog to expand as you'd enter more directores. This was unintuitive, and not something that any other file dialogs do. Let's make the fusion style FileDialog behave like the other FileDialogs. Pick-to: 6.10 Change-Id: Icd67803b6e205ac9224b2561417667b4893a4e87 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
The ScrollBar's handle would either use palette.dark or palette.mid. Using the outline colors instead should create more contrast between the background and the ScrollBar's handle, which is what we want for high contrast mode. Task-number: QTBUG-134971 Pick-to: 6.10 Change-Id: I3527f57f498415463016e3c8ec42b6081922a688 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
e7b90cf changed the default to 1 second, which results in a failure: FAIL! : tst_TouchMouse::pinchOnFlickable() QTestLib: This test case check ("(flickable->isFlicking()) == (false)") failed because the requested timeout (1000 ms) was too short, 1200 ms would have been sufficient this time. Bump it to 2 seconds. Task-number: QTBUG-138662 Change-Id: I3e9b0e600bac879c506d23255e8587197e171d21 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
…econds e7b90cf changed the default to 1 second, which results in a failure: FAIL! : tst_qquickanimatedimage::playingAndPausedChanges() QTestLib: This test case check ("!obj->isPlaying()") failed because the requested timeout (1000 ms) was too short, 1050 ms would have been sufficient this time. Bump it to 2 seconds. Task-number: QTBUG-138662 Change-Id: I3ccbc5c6a13ac45752b252263e925ceb9edc6a5c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
"valueType" is ambiguous. The prevailing meaning is a type that's passed by value in QML. We mean the type of the list contents (or elements) here. Change-Id: Iaf4c0efe272dc6ec7511d2361e7e5ce475936fba Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Without this, it tries to resolve the metaObject of QVariantMap, which crashes. Fixes: QTBUG-139626 Pick-to: 6.10 6.9 6.8 Change-Id: I9248f57c428810024f9983df959f475e6557576c Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Fixes: QTBUG-139633 Pick-to: 6.10 Change-Id: I77eb00417199d7228c239ebfdb45877bda7e4b77 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
tst_QQuickTextEdit::inFlickableTouch is flaky due to the view being repositioned after initialization, which shifts the window downwards. This new position causes the flick gesture to fail. Unblacklist tst_QQuickTextEdit::inFlickableTouch on openSuSE 15.6 Fixes: QTBUG-118066 Pick-to: 6.10 6.9 6.8 6.5 Change-Id: I0d85d756594aa1976fff1f06f21b54a909474150 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Task-number: QTBUG-139560 Change-Id: I9b9dfce9df58e64054e4b1208f70501eb6b11f0a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
We want to encapsulate the container as well as possible. Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-129972 Task-number: QTBUG-139025 Change-Id: I87841fbe9a9c9f1756eddc979b82ec8b90eec8e2 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
We want to use it in other places. Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-129972 Task-number: QTBUG-139025 Change-Id: I720c4a71144ab634d70a1ec0115ca81b8030d083 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-129972 Task-number: QTBUG-139025 Change-Id: I2062b537c1c00908b7cc86f394d95ffdf2eabbee Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
We will need to befriend them. Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-129972 Task-number: QTBUG-139025 Change-Id: I0d877627f2b838f2bf06a7049cd51927e13bd24d Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Change-Id: Id2a572a55ab9c58ac9b226c80e5c70d0fa6a080b Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
QUIP: 23 Task-number: QTBUG-136184 Pick-to: 6.10 6.8 Change-Id: I953891130cea2e6a5ff7ee29f62af06503d56abc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Accessibility Insights for Windows is a Windows application that will check the UI accessibility tree for any potential issues or anti-patterns. The tool would complain about the FontDialog not giving the text fields for font family, style and size an accessibility name. In addition, the sample text edit was exposed as accessible, even though it's an non-interactive part of the UI. We can simply hide it from screen readers. Pick-to: 6.10 6.8 Change-Id: Ice96528c3bcf018fabd95d5aaddd644b41bdfca1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Accessibility Insights for Windows is a Windows application that will check the UI accessibility tree for any potential issues or anti-patterns. The eye dropper button, as well as the sliders, didn't have a name, which was the main thing that the tool complained about. Pick-to: 6.10 6.8 Change-Id: Ibe9d9e788d86fe3f46261221da12c1a4be5d220e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Accessibility Insights for Windows is a Windows application that will check the UI accessibility tree for any potential issues or anti-patterns. The tool would complain about the FileDialog having a button without a name, in the FolderBreadcrumbBar. The SideBar buttonDelegate would use a Button with an IconImage contentItem, which the tool would complain about, since the Button control then wouldn't have a name. The FileDialogDelegate would also expose every label that it uses to QAccessible. I'd assume users of screen readers would find it overwhelming that every delegate has more than 4 different labels that are all exposed to external assistive technologies. The most important item to expose is the delegate itself, the sub-labels showing the file size and last modified date can probably be ignored. Pick-to: 6.10 6.8 Change-Id: Iad3fbf4a4178934214028214947506eb9d8c2651 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
On Windows 11, the colorScheme is 'Unknown' when a contrast theme is applied. This is because contrast themes are seperate to the classic light/dark mode settings, but share the similarity that they both determine palette colors. Some of our QQC2 themes provide their own colors (like the Basic style, and FluentWinUI3 style). These styles provide different colors depending on whether they think the system is in dark mode or not. However, since the colorScheme can be 'Unknown', and officially still have a dark-ish system palette, we need to be a little more intelligent. Also consider the system to be in "dark mode", in cases where the colorScheme is 'Unknown' and the windowText is brighter than the window palette color roles. Task-number: QTBUG-140507 Pick-to: 6.10 Change-Id: I179ce77104f0d682f353aec10d0f7f28660668b7 Reviewed-by: Doris Verria <doris.verria@qt.io>
TreeViewDelegate is calling the overloads where the role has already been converted to an integer. As a result, the internal string->int conversions fail, triggering early returns from these methods. Reorder some parameters and make the methods Q_INVOKABLE to change the overload resolutions and make the default delegate usable with both TreeModel and TableModel. [ChangeLog][Qt labs QML Models] Changed the order of the role and value parameters in setData to resolve ambiguity. Fixes: QTBUG-140026 Pick-to: 6.10.0 6.10 Change-Id: I0546eddf88ad005a13d156d3b3466c44d10c333d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
The documentation snippet used QSortFilterProxyModel, while the Gallery example already demonstrates the QML SortFilterProxyModel. Update the doc to use QML SFPM for consistency. Pick-to: 6.10 Change-Id: I65423d2a36625e5b6a56c734808d8ea735d55b02 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
…enus QPlatformMenu::showPopup() takes a QWindow ptr as its first parameter, which may or may not be used, depending on the platform. But usually this becomes the 'transient' parent window for the menu. This QWindow ptr is chosen as the first element in the list returned from QGuiApplication::topLevelWindows(), and there's no guarantee that it won't be empty. On macOS, the following snippet would reproduce a crash, when opening the menu and pressing Command+Q: ``` Button { text: "Open menu" onClicked: contextMenu.open() Menu { id: contextMenu popupType: Popup.Native title: "File" MenuItem { action: Action { text: "Open" } } } } ``` This would be the backtrace: ``` 4 qAbort() 5 void qt_maybe_message_fatal<QString&>(QtMsgType, QMessageLogContext const&, QString&) 6 qt_message(QtMsgType, QMessageLogContext const&, const char *, char *) 7 QMessageLogger::fatal(const char *, ...) const 8 qt_assert(const char *, const char *, int) 9 QList<QWindow *>::first() 10 QQuickMenuPrivate::setNativeMenuVisible(bool) 11 QQuickMenu::setVisible(bool) 12 QQuickPopup::close() 13 QQuickPopup::setParentItem(QQuickItem *) 14 QQuickPopupPrivate::itemDestroyed(QQuickItem *) 15 QQuickMenuPrivate::itemDestroyed(QQuickItem *) 16 void QQuickItemPrivate::notifyChangeListeners<void (QQuickItemChangeListener:: *)(QQuickItem *), QQuickItem *>(QFlags<QQuickItemPrivate::ChangeType>, void (QQuickItemChangeListener:: *&&)(QQuickItem *), QQuickItem *&&) 17 QQuickItem::~QQuickItem() 18 QQuickControl::~QQuickControl() 19 QQuickAbstractButton::~QQuickAbstractButton() 20 QQuickButton::~QQuickButton() 21 QQmlPrivate::QQmlElement<QQuickButton>::~QQmlElement() 22 QQmlPrivate::QQmlElement<QQuickButton>::~QQmlElement() 23 QQmlPrivate::QQmlElement<QQuickButton>::~QQmlElement() 24 QObjectPrivate::deleteChildren() 25 QObject::~QObject() 26 QWindow::~QWindow() 27 QQuickWindow::~QQuickWindow() 28 QQuickWindowQmlImpl::~QQuickWindowQmlImpl() 29 QQuickApplicationWindow::~QQuickApplicationWindow() 30 QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement() 31 QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement() 32 QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement() 33 void qDeleteAll<QList<QObject *>::const_iterator>(QList<QObject *>::const_iterator, QList<QObject *>::const_iterator) 34 void qDeleteAll<QList<QObject *>>(QList<QObject *> const&) 35 QQmlApplicationEnginePrivate::cleanUp() 36 QQmlApplicationEngine::~QQmlApplicationEngine() 37 QQmlApplicationEngine::~QQmlApplicationEngine() 38 main ``` Since we only need this QWindow ptr to open a native menu, there is no reason to even check that list in cases were we're closing a native menu. Thus, it makes sense to completely skip that part when closing. Not only can we skip this step when closing a native menu, but we also don't really need to check qGuiApp->topLevelWindows() in the first place, since the window we're interested in is referenced by the parent item. Using the parent item's window is more semantically correct, since getting an arbitrary top level window from qGuiApp->topLevelWindows() could cause QPlatformMenu::showPopup() to get called with a pointer a completely different window than the intended one. QPlatformMenu::showPopup() and QHighDpi::toNativeLocalPosition() both handle cases where the window argument is nullptr. An autotest would be very welcome, but due to native menus blocking nature, it doesn't seem feasible. Pick-to: 6.10 6.9 6.8 Change-Id: I7f61ed245307a821fdf567e65e3739566505ba73 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Change-Id: I9ae5702ca1c09df152d308034ec384e9f5285d4c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
The documentation for GradientStop position says that its default value is zero. However, the member is not initialized, so its value is actually random. This can cause all sorts of problems (included corrupted rendering if the value happens to fall into a NaN range). [ChangeLog][QtQuick][GradientStop] The position property is now always initialized to 0.0; previously it was left uninitialized. Pick-to: 6.10 6.9 6.8 6.5 Task-number: QTBUG-140364 Change-Id: I5dbc83838fb4d2f1a46c34ae61e25bfe3853eb16 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Remove unused DomItem argument from pathFromOwner methods. Change-Id: Iaa978c6ebf90b37736cd2cf1e8772441e51cbf3f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Add trailing '.' where missing in error messages that qmlls sends to the LSP client. Task-number: QTBUG-133497 Change-Id: I28b50b47980adbb37d6ec1655481af784404457a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Extend the ScriptFormatter to format type annotations in JS lambdas. We can't really reuse the code that formats type annotations in QML methods because this one uses the DomItem MethodArgument::writeOut(), and we don't have a MethodArgument DomItem for type annotations in JS lambdas. Add anchors for UiQualifiedId, so that comments can be attached around the bits and `.` in an id like `a.b.c.d`. Partially amends 288e03a that made ScriptExpression always disable qml mode to enable it when needed (type annotations are only enabled when qml mode is enabled), otherwise we can't format type annotations in tst_reformatter. Implement ScriptFormatter for type annotations. Don't process UiQualifiedIds for comments when not inside a type annotation. Pick-to: 6.10 Task-number: QTBUG-137944 Change-Id: I897ebead743f78d2a957a09469ce7ff3317aa930 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Add sourcelocations for `<>` in list types like `list<int>` in AST::Type, and fix their lastSourceLocation() method to show the `>` location when applicable. Add the new sourcelocations to qqmldomcomments to also be able to anchor comments around the `<>`. Implement ScriptFormatter for list type annotations. Pick-to: 6.10 Task-number: QTBUG-137944 Change-Id: I73af498a9165f99fdceb69c8822ce5bb94e02ff9 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Adapt the parser to not ignore return type annotations in function declarations, and visit the return type annotations in the ScriptFormatter visitor. Pick-to: 6.10 Task-number: QTBUG-137944 Change-Id: Ib54aa17b056a87215baa83535038b867a3b7e195 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Remove the workaround for QmlObject's formatting, and always create the filelocations for its `{}` tokens in qqmldomastcreator. Now that our comments are printed at the correct places, fix the wrong indentation they get by following ScriptFormatter::outWithComments()'s indentation helper: introduce a new enum IndentedCommentOption, and automatically set it for `{}[]` regions. This allows to increase/decrease the indent after/before writing comments, so that the comments get a correct indent. Adapt the existing tests to not expect comments to move around qml objects anymore, and that comments can now attach to QmlObject `{}` tokens in tst_qmldomitem.h. Task-number: QTBUG-137944 Task-number: QTBUG-97796 Task-number: QTBUG-123386 Task-number: QTCREATORBUG-33333 Change-Id: Ice3cff8a24f4b55e0b642da00b3081892abdf2a1 Reviewed-by: Semih Yavuz <semih.yavuz@qt.io> Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
It seems that the timeout for this test is too short on a debug build with ASAN, and leads to unrelated test failures on my machine. I couldn't see any weird behavior in the profiler, apart from QQmlJSUtils::resourceFilesFromBuildFolder() that might take more time because it iterates <build>/qtbase/qml to search for .qrc files (and depending on how many QML modules were built this might take less or more time). Change-Id: I3c7b0b6483c89de0a06460f8924943b598e5c0a6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Prepare for QTBUG-119163 by adding a method to get all the build paths where CMake build should be called, and a test for it. Task-number: QTBUG-119163 Change-Id: Ic9f7f77c413afe475228898029746bcd2a2ac463 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The current situation leads to a race in qmlls: the file is opened and then the build folder is announced to qmlls. Depending on whether the file opening thread is fast enough, it might start processing the file before processing the notification about the build folders, which leads to random test failures of tst_qmlls_modules:qmldirImport (once every three run on average on my machine). Therefore, announce the build folder before opening the file. Change-Id: Ic67da41f2bcbf18be6ce46ee48a771937150f479 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Use QDirListing instead QDirIterator in resourceFilesFromBuildFolders. QDirIterator is deprecated and shows up a bit in the profiler when investigating why tst_qmlls_modules::qmldirImports timeouts some time on a debug asan build. Pick-to: 6.10 Change-Id: Icc80c39f48ac381828829dc0d4c5eb51ed42abbf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
The highlighting visitor does not use paths, so add the NoPath option for the visit. This makes the highlighting a bit faster as the path construction does show up in the profiler. Change-Id: If8201e0854870c0f1fb17385f2abce87581f79b7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
QQmlToolingSettings::Searcher::searchDirectoryHierarchy does not need QSettings to work, so remove the #if QT_CONFIG guard there. The QSettings are only needed to read the settings file, not to locate it. Change-Id: Ief67a56aad95ca242cdfdcf0790be3c46f57b664 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Apparently the author wanted to show an alias overriding a property and still retain control over the property. This doesn't work and simply confuses any reader. Pick-to: 6.10 6.8 Change-Id: Id63708eb7623d4cd24a81135156b237d85f2ca74 Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
QQmlDelegateModel will do the right thing when the delegate is replaced. There is no need to regenerate afterwards. Change-Id: I9bfa0f2df4e65d03eacb25ae875a74dea16180d3 Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Task-number: QTBUG-139591 Change-Id: I21022fec82836e87ab957b0df5f514a6bc723ce2 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Fixes: QTBUG-140544 Pick-to: 6.10 6.10.0 Change-Id: I951d3bae73157ccf2cfcf549b506a44651719243 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Ensure window1 is active before proceeding with mouse click. Previously, we only checked if window1 was created, which was insufficient for the subsequent mouse click operation. Modify a check condition to ensure the window is active before proceeding. Fix flakiness on Ubuntu 24.04 wayland. Fixes: QTBUG-138480 Pick-to: 6.10 6.8 6.5 Change-Id: I12e262d5a9d4e54a254ae6afd44f98347cc79d98 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
This implements support for SVG masks with the default content unit type. The alternative "object bounding box" content unit type is still not supported as it would need additional logic to replicate the mask per masked item. With this change, the parser has to provide a unique ID for each node, so that references to masks can be resolved by the parser. This involves some complexity in the SVG parser to avoid name collisions for use nodes, switch nodes, etc. Task-number: QTBUG-121537 Change-Id: If9f47f364f8682ab6021e7f6277c480c3f075297 Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
Change-Id: I66dbe7a8f30555d630d98529258f88158af6f23a Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
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.