-
Notifications
You must be signed in to change notification settings - Fork 178
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]>
The test that tests whether centering a popup in its parent failed when using popupType Popup.Window. This is because popup windows do not have edge constraints and therefore can be drawn outside of the parent when being centered. Task-number: QTBUG-126553 Pick-to: 6.8 Change-Id: I5bca50a0965441c100bf489bc3674763de5f89aa Reviewed-by: Santhosh Kumar <[email protected]>
ComboBox::test_emptyPopupAfterModelCleared currently tests that the popup of a ComboBox is empty by checking the height is zero. This does not apply to popups with popupType set to Popup.Window as they can not have zero dimensions. Note, in the future the plan is to set a minimum height for the ComboBox popup and so this test will become obselete. Task-number: QTBUG-126553 Pick-to: 6.8 Change-Id: I34e256ec86de9c722894e21d289eddbb2bab3b1a Reviewed-by: Oliver Eftevaag <[email protected]>
Pick-to: 6.8 Change-Id: I795e63e8823b2c57cef87728373732d8969b1643 Reviewed-by: Christian Strømme <[email protected]>
The example provides two sections including an editor and a view for QML codes. The QML codes can be written by the user from scratch and save to a file, or, it can be loaded from a file. Also, it is possible to save the changes and see the result in the view side. The application can detect any changes to the source file outside of itself and reloads the editor and the view sections. The editor is QPlainTextEdit and the view is QQuickWidget. The QQuickWidget is used to embed QML in the application which is a widget application. The implemented actions in the example are: - Open file: to open and load a (.qml) file - Save file: to save the changes into the opened file or into a new file - Close file: to close the opened file - Reload: to discard the changes and to reload the opened file Pick-to: 6.8 Change-Id: I3106dd78998c4b0e86e21803ccf1bb84205a13a4 Reviewed-by: Jan Arve Sæther <[email protected]>
The documentation was missing for the example. This patch provides a screenshot image of the application and a documentation file. Fixes: QTBUG-128224 Task-number: QTBUG-125767 Pick-to: 6.8 Change-Id: I2aa73ea7e82eb019db84a7ce685837b89e62f300 Reviewed-by: Santhosh Kumar <[email protected]>
When a window containing a Quick shortcut was closed, we would still match the application shortcut, which doesn't match the behavior of Qt Widgets. We now check the visible state of the window containing the shortcut before matching it. The testcase creates a shortcut event in another window. It should fail when the window which contains embedded application shortcut is closed. Task-number: QTBUG-121785 Change-Id: I8cf5d3797102e0a1b43a91b347bdbfdd8cfc39e2 Reviewed-by: Jan Arve Sæther <[email protected]>
QQuickDragHandler::handlePointerEventImpl() accepts the event to begin with. Since ca7cdd7 we meant to stop event propagation for mouse events, at least to prevent Flickable from receiving the event via direct delivery after it has already filtered. But back then, QEvent::setAccepted() did not automatically accept the touchpoints; now it does (a questionable choice in Qt 6 that accept() and setAccepted(true) do not do the same thing). Now we leave QEventPoint:isAccepted state alone if it's a touch event, so the workaround to stop propagation of mouse events is the only case where it needs to be changed. And update the comment: since 3073a81 Flickable handles touch events directly, it doesn't depend on touch->mouse synthesis. Fixes: QTBUG-124731 Pick-to: 6.8 6.7 Change-Id: I833a4d28f708e27cf01b108da1b886807725dc06 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Richard Moe Gustavsen <[email protected]>
It seems to me that it fits much better there instead of directly under "quick" folder, and this follows other plugins and modules Android code structure. Pick-to: 6.8 Change-Id: I837e8cddaffabd239ca1dac966aaf6182e60afd3 Reviewed-by: Nicholas Bennett <[email protected]>
Quick NativeStyle is used simply as a utility for the QQC platform styles. So we don't need to build it when both macOS and Windows styles are disabled in the build. Fixes: QTBUG-128135 Change-Id: Iff1a16e2302a007cf18977350936d96dcfdfe72f Reviewed-by: Mitch Curtis <[email protected]>
Task-number: QTBUG-127993 Pick-to: 6.8 Change-Id: Ib7b3c4b9c88b3453f6a121b0f8d4e2f792ff9ae9 Reviewed-by: Mats Honkamaa <[email protected]>
The horizontal/vertical paddings need to be inverted depending on orientation. Pick-to: 6.8 Change-Id: Ia9d516088a749e0c29e70d06bc24a83f1ffb6f3b Reviewed-by: Mitch Curtis <[email protected]>
…Button We want to be able to support custom palette.accent and palette.button colors for the Button/ToolButton. To do that, use QML instead of images for the button background and factor it out in reusable component ButtonBackground. Remove previously generated images for the button/toolbutton backgorunds but keep using geometry information generated from the stylegenerator. Pick-to: 6.8 Change-Id: I6f195b32142d06c96833ac3d9184da9f8bbd22ba Reviewed-by: Mitch Curtis <[email protected]>
Task-number: QTBUG-125279 Pick-to: 6.8 Change-Id: I400c3ccc27088427481a86cc937597675649fb3d Reviewed-by: Mitch Curtis <[email protected]>
Add Dialog and DialogButtonBox. While at it, remove them from the list of not-yet supported controls in the Fluent style docs, together with other controls that have already been implemented. Pick-to: 6.8 Change-Id: I6abe0cae8712a999a5491b5ec1a904df56d38d0d Reviewed-by: Mitch Curtis <[email protected]>
Pick-to: 6.8 Change-Id: I962b1d9a3aa0e2dbcdc9d262088de00e5abd3322 Reviewed-by: Mitch Curtis <[email protected]>
Add a FocusFrame component that follows the active focus item, mirroring the approach used by the native styles with QQuickFocusFrame. In the future, this should probably move out of the native style and serve as a common solution across all styles. Task-number: QTBUG-125279 Pick-to: 6.8 Change-Id: I577d0b783c36bc7e146a7e02051195d78a11ca60 Reviewed-by: Mitch Curtis <[email protected]>
- Update the link targets to 14.0 level - Use the \QC and \QDS macros - Remove \externalpage entries from the repository to use \qtbase\doc\global\externalsites\qtcreator.qdoc Change-Id: I5b63b4f5fab2e4e6aceec385b3ce5516b803c682 Reviewed-by: Andreas Eliasson <[email protected]>
Currently popup windows do not support palette propagation. Skip the tests that test for it. Task-number: QTBUG-126553 Pick-to: 6.8 Change-Id: I16483665690d5df4311743513d6ec9c30bb92da5 Reviewed-by: Jan Arve Sæther <[email protected]>
Popup::test_size updates the size of a popup in QML and then checks that the size has indeed updated. When using popupType: Popup.Window, a try compare statement should be used when checking if the size has indeed updated. Task-number: QTBUG-126553 Pick-to: 6.8 Change-Id: I13567967fcea458e3b61e0cfd154158238b398c5 Reviewed-by: Oliver Eftevaag <[email protected]>
…) will be used The detailed documentation for HeaderView says that if you assign a QAIM to the model property, the models headerData() will be used. But in the documentation for the model property itself, it says that data() will be used (except when using a QAbstractTableModel). Both cannot be true. The actual behavior is that we use data() when the model is assigned explicit to the model property, and headerData() when the syncView's model is used. It's debatable whether or not we should have always used headerData(), but changing that now could cause regressions. Such a change would also stop e.g QML ListModel from being used as a model, which is also an argument for keeping it as-is. This patch will therefore fix up the documention to be consistent, and to inform that data() will be used. Fixes: QTBUG-123595 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: Id64977a3db5f00b4269f0e5ffb6a31e5ad607725 Reviewed-by: Mitch Curtis <[email protected]>
This patchset implements the \qmlproperty command to display the properties for the 'color' QML value type. The following properties are added: r, g, b, a, hsvHue, hsvSaturation, hsvValue, hslHue, hslSaturation, hslLightness and valid. Fixes: QTBUG-127337 Pick-to: 6.7 6.8 Change-Id: I583407f82d530ea80f34cb3e3d74775e9fa0e1e0 Reviewed-by: Paul Wicking <[email protected]>
Pick-to: 6.8 Change-Id: I1d920751dbb48944678898245a059360efcaca55 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]> Reviewed-by: Topi Reiniö <[email protected]>
Using \keyword instead of \target means that IDE's can properly look up these commands in the qch index. Pick-to: 6.7 6.8 Task-number: QTBUG-128368 Change-Id: I3995f5fe5a995765a12c129280f7ed3e8155ae3a Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Paul Wicking <[email protected]>
Pick-to: 6.8 Change-Id: I59940e0f8110793e2043bdd10c35db3b307c3400 Reviewed-by: Soheil Armin <[email protected]> Reviewed-by: Assam Boudjelthia <[email protected]>
qtabstractlistmodel_kotlin example QtBuild projectPath points to non existing project. Change to correct one. Pick-to: 6.8 Change-Id: Ic8ff620e6a058ddc83948d9a7f207d4912c64e55 Reviewed-by: Assam Boudjelthia <[email protected]>
settings.gradle.kts include statement not working. Pick-to: 6.8 Task-number: QTTA-111 Change-Id: I0dc0ab8b2bf9ad722bdaece05e99651f6914863f Reviewed-by: Assam Boudjelthia <[email protected]>
Pick-to: 6.8 Change-Id: I1c2dbb796ebc005b6cd368f713baefedd0e24683 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Leena Miettinen <[email protected]>
Change-Id: I957b55f42be372e36b0bdb2a26d452e5c60909e0 Reviewed-by: Qt Submodule Update Bot <[email protected]>
The handling of images in the VectorImage generator would apply the node info before setting the new node as current, thus setting transforms on the parent instead. Note: This patch also removes a couple of outdated comments and fixes indent on the QML generator for images. Pick-to: 6.8 Task-number: QTBUG-128476 Change-Id: I1fbcfbac5a97f66ecbff0e74b27c0e2c88cc08f6 Reviewed-by: Eirik Aavitsland <[email protected]>
Follow-up to 7574111. The position passed to QPlatformMenu::showPopup() is in the window-local coordinate system, which means the the "local" toNative() scaling function must be used. Task-number: QTBUG-127906 Task-number: QTBUG-128126 Pick-to: 6.5 6.7 6.8 Change-Id: I3ec34bdae4ce9a7235c68eab248f4a9cb127eb3f Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Inho Lee <[email protected]>
We set those options from CMake. qmlcachegen can still dump (empty) AOT stats if it's compiling only to byte code, and it's not wrong to still tell it the module ID. Amends commit 6ae3620 Change-Id: I3990c0783f9fdf0c7c7263675dc82c8c74851eb8 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
This includes making it non-incremental by setting the timelimit to 0, which might be a workaround for some issues with the incremental garbage collector. Task-number: QTBUG-129241 Pick-to: 6.8.0 6.8 Change-Id: I665052345688cd17f05d52a46adc9a09bebefef2 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Amends commit ebd8b85 Pick-to: 6.8 Change-Id: I62bb78e75ab98129ca317a2cb741b246c5d1cf20 Reviewed-by: Fabian Kosmale <[email protected]>
The metatypes from any old engines may have been deleted. Retrieve the types from the ResolveTypeReferenceMap instead. That is much cheaper than doing a full type search and the CU should know the types it's dealing with. Sometimes, however, the CU does not pre-resolve the types. In particular, types only used in function signatures do not end up in the ResolvedTypeReferenceMap. In those cases, still do the full type search. Amends commit 8bf5aae. Pick-to: 6.8.0 6.8 Task-number: QTBUG-129388 Change-Id: I27f25e1c68de3c752d00345c6d94016fb315e16c Reviewed-by: Fabian Kosmale <[email protected]>
In most cases, the usage of scope is only to guard against future changes which could introduce allocations. However, in a few places we end calling functions that can allocate: Both addDummyEntry and cleanInternalClass can allocate memory, and there is nothing protecting the newly allocated internal class. Pick-to: 6.8.0 6.8 Change-Id: I727a91380c49fb95cbd6f5cba39bdd5f9a9b0e5e Reviewed-by: Ulf Hermann <[email protected]>
There's no need for a src directory. Fixes: QTBUG-128500 Pick-to: 6.8 6.7 6.5 Change-Id: I5663fa80bf06a1e46819ef74678a9a4710b718a0 Reviewed-by: Venugopal Shivashankar <[email protected]>
I fixed broken links in the Kotlin example, added missing ones there, and added them to the top-level Qt Android Classes page. Pick-to: 6.8 6.8.0 Change-Id: I70b6a4e9aa02c83c69f20139f4f3a57369cbd954 Reviewed-by: Paul Wicking <[email protected]>
3f3787a added a wrap parameter to QQItem::nextPrevItemInTabFocusChain that allows us to not wrap around the focus chain for cases where eg: we need to tab navigate in and out of the quick window. The problem was that we were wrongly wrapping from the first back to the last in case of a BACKTAB, even if wrap was set to false. This was to allow for cases where the root item has the active focus and we want to backtab to the last item in the quick window. This shouldn't be the case, however, because if wrap is false, that means that we shouldn't wrap in ANY case. This was also not allowing us to backtab to a parent window when the focus is on the root item of the quick window. To fix, if we are about to wrap around and the "wrap" parameter is false, always return. Pick-to: 6.8 Change-Id: I29faa7c67bc229b9965b06acb4631b7c8e5b73d0 Reviewed-by: MohammadHossein Qanbari <[email protected]> Reviewed-by: Mitch Curtis <[email protected]>
As it stood, the logic that resolved if a menu can, and should be, native was duplicated into two functions; useNativeMenu() and resolvedPopupType(). And the two was somewhat inconsistent. This patch will therefore refactor all the logic into resolvedPopupType(), so that the popup type is resolved in a single place. Existing auto tests (such as tst_QQuickMenu::subMenuPopupType()) should verify that this refactoring is safe. Pick-to: 6.8 Change-Id: Ifc73d20c2d2e06646dc2849c8398660a35b17cb2 Reviewed-by: Oliver Eftevaag <[email protected]>
Most of the relevant functionality is covered by unit-tests, however due to some complexities of DOM some of the aspects can be tested only as part of e2e testing. But also ofc, the core flow QmlLs<->DocumentSymbolProvider<->DocumentSymbolUtils should be covered as well Task-number: QTBUG-120002 Change-Id: I1e5a151d8c8ed582a76d368b778756104535be66 Reviewed-by: Sami Shalayel <[email protected]>
When dealing with the `for..in` language construct, V4 internally uses a `ForInIteratorObject` to implement the required iteration. As part of the initialization of this kind of object, the iterator marks the elements it iterates upon to avoid them being collect in while the iteration is still going. A "proxy" is a kind of object that wraps another object, adding one layer of indirection. A "proxy" object can be revocable. Revoking a "proxy" through a revoke function or the revoke method is generally intended to end its lifetime. Internally, a `Proxy` object keeps track of its "target" and its related "handler". When the `Proxy` object is revoked, its references to those elements are nulled out and the `Proxy` is unusable. If the `Proxy` is the only object holding a reference to those elements, it then means that, after a revoke operation, the elements are eligible for garbage collection. It is possible to create such a situation during a `for..in` run over a revocable `Proxy` object. If the `Proxy` has the only reference to its "target", and the iterator doesn't keep the "target" alive itself, then revoking the `Proxy` object will allow "target" to be collected when it is still in use. Indeed, while `ForInIteratorObject` has some special handling for `Proxy` objects, it failed to mark all its dependencies so that the above situation could be realized. To fix the issue, ensure that `ForInIteratorObject` marks all relevant elements when iterating a `Proxy` object. A test case was added to `tst_qv4mm` that shows the behavior. Fixes: QTBUG-129310 Pick-to: 6.8 6.5 Change-Id: Ic360d77c1495a87153bb57f8ed87d23552edc08b Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
This enables us to encode instructions efficiently in between 1 and 18 bytes. Change-Id: I2e6437ffb31c34069241cfe716f6c61e20388892 Reviewed-by: Ulf Hermann <[email protected]>
Added links to the Qt Quick Android Classes page for examples. Added links to the Android Java classes provided by Qt Core. Renamed QML in Android Studio Projects example as Qt Quick for Android-related. Rename filename using qml in Android. Pick-to: 6.8 6.8.0 Change-Id: I79f79971ea7d224545c939a906bb449bd2b886c5 Reviewed-by: Assam Boudjelthia <[email protected]>
The focus did not move from QQuickWidget to sibling widgets. Additionally, when focus moved to QQuickWidget via tab/backtab key events, the item that was focused before the focus moved out was refocused. This is expected when the focus reason is not tab or backtab. In such cases, it is expected that the first/last item should be focused due to tab/backtab focus reasons. To address this issue, QQuickWidget checks the next/previous candidate in its child items through the focusNextPrevChild() method. If QQuickWidget cannot find any candidates, it should behave like a QWidget. Otherwise, it simulates a tab/backtab focus event for the offscreen window (QQuickWindow) to determine which item should be focused. The test case demonstrates a window containing a QQuickWidget with three rectangle items, a middle widget, and another QQuickWidget with three rectangle items. It then sends some Tab and Backtab events and verifies that the expected order of items and widgets is followed. The expected order varies depending on the direction of focus change (forward if the Tab key is pressed and backward if the Backtab key is pressed). [ChangeLog][QtQuick][QQuickWidget] The first/last item must be focused when QQuickWidget receives a focus-in event due to tab/backtab reasons. In other cases, such as ActiveWindowFocusReason, the item that was focused before will be refocused. Pick-to: 6.8 Change-Id: Ie25e6c2c46e20e15a5db014e0054b8b9da2d8a21 Reviewed-by: Doris Verria <[email protected]>
If running is set to false and then true within a short period, BusyIndicatorImpl's OpacityAnimator cancels the 1 => 0 animation (which was for running being set to false), setting opacity to 0 and hence visible to false. This happens _after_ setRunning(true) was called, because the properties were set synchronously but the animation is asynchronous. To account for this situation, we only hide ourselves if we're not running by storing and checking our running state. Fixes: QTBUG-85860 Pick-to: 6.5 6.7 6.8 Change-Id: I220dfb78f00028e4a12a92fc14082006e1844002 Reviewed-by: Doris Verria <[email protected]>
Tumbler is based on PathView and ListView. They both have a flickDeceleration property. It was not possible to configure this property when using Tumbler. flickDeceleration in PathView and ListView does not have the same default value. Hence, to preserve the original behavior, the property of Tumbler changes together with the wrap property by default, unless assigned an explicit value. It is resettable. The designer file for Tumbler contains the new property as well. [ChangeLog][Controls][Tumbler] Added flickDeceleration property. Change-Id: I5f58b8659fea9bbd7bcc7381087351162b8e06c3 Reviewed-by: Mitch Curtis <[email protected]>
QQmlMetaType::prettyTypeName() can spontaneously return a non-pretty name (ie. "QQuickText" instead of "Text"), so we can't hard-code the type name in the expected warning message. Pick-to: 6.8 Task-number: QTBUG-129301 Change-Id: I959aa6aca505ac49e809497834a05b5306f0b30c Reviewed-by: Mitch Curtis <[email protected]>
Fixes: QTBUG-127795 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: I4b9a958805b4bdcd0b06758e94aca5278847c314 Reviewed-by: Ulf Hermann <[email protected]>
So far we produced invalid QMetaTypes for them in various places and that "worked" for the most part because with QObject pointers we can introspect the actual type at run time. Realize that we never actually want the concrete anoymous type of the object when we pass it around. Rather, all methods and properties need to handle named types. What we really want to resolve is therefore not the type of the original value we've produced in the type propagator, but rather the replacement we've produced when analyzing the lookup. Pick-to: 6.8 Task-number: QTBUG-129202 Change-Id: I0b93495d6603f120375048c80a747170f147f8af Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> (cherry picked from commit 14ff682) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
We're not guaranteed to get string IDs for those. Pick-to: 6.8 Change-Id: I5800a1e90589f3a6ae55ce8624fa56968f0f3ec3 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> (cherry picked from commit b8c3cf7) Reviewed-by: Qt Cherry-pick Bot <[email protected]>
To avoid duplicated content, add a link to the qmlformat page. Having a link to a more detailed page for the tool is also in line with how the other tools are listed on the Qt Quick Tools and Utilities page. Fixes: QTBUG-127287 Pick-to: 6.8 6.7 6.5 Change-Id: Id0fc71818bdb41fb5763dad7f2b562e4c3a00a4d Reviewed-by: Paul Wicking <[email protected]>
- range of useful resizing is greater - go from 2 to 6 columns during resizing - don't make the sidebar huge: assume the "content" is more interesting - required property index - minor syntax reordering Pick-to: 6.7 6.8 Task-number: QTBUG-119388 Change-Id: I55d684107e5fc972a1b328b12b4932a1fc85b382 Reviewed-by: Oliver Eftevaag <[email protected]>
… cases" This reverts commit 6561344. It needs to be fixed in a different way. Fixes: QTBUG-127340 Pick-to: 6.5 6.7 6.8 Change-Id: I8503b22a5257e0fb5ee11a1bdf83d3dcab4a600a Reviewed-by: Richard Moe Gustavsen <[email protected]>
Since 837c2f1, we connect to modelAboutToBeReset rather than modelReset so that we can handle role name changes. _q_modelAboutToBeReset now connects modelReset to handleModelReset with a single shot connection instead. However, it's possible for user code to begin the reset before connectToAbstractItemModel is called (QTBUG-125053), in which case we connect to modelReset too late and handleModelReset is never called, resulting in delegates not being created in certain cases. So, we check at the earliest point we can if the model is in the process of being reset, and if so, connect modelReset to handleModelReset. This is a less intrusive alternative to 6561344, which caused regressions and was reverted. Fixes: QTBUG-125053 Task-number: QTBUG-127340 Pick-to: 6.5 6.7 6.8 Change-Id: I2bfe192ed61eddaa481de4b1e14b1fa5d07a51c1 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Prior to 06ace3e we would not account for items in different scenes, and would map them as if they were part of the same scene. After 06ace3e we took the scenes into account, but failed to guard against one or both of the items not having a scene (yet), causing potential crashes. We now properly check that both items have a scene before trying any scene to scene mapping. The semantics if one or both of the items are not in a scene is kept as it was before 06ace3e, where we assume the two items are part of the same scene, and an item without a parent is assumed to be the root of its scene. Pick-to: 6.8 Fixes: QTBUG-129500 Change-Id: I897faf73d04dddd68a7a8797e5238743efdd4f73 Reviewed-by: Shawn Rutledge <[email protected]>
This code is currently unreachable since we do not perform lookup preparation for enums in AOT-compiled code. However, in case we do one day, it should really return the right type. Change-Id: Ie1489eb214cc6afe9355378d65e692e39da8584b Reviewed-by: Olivier De Cannière <[email protected]>
It doesn't do anything useful anymore. We only want to use lookupResultMetaType to prepare a QVariant to hold a return type we cannot easily name in generated code. SetLookup does not return anything. Change-Id: I634656bce09d6603a4cd1bba0418eac842daeca5 Reviewed-by: Olivier De Cannière <[email protected]>
It seems the current description has been copied from QQuickWindow::graphicsDevice(). Fixes: QTBUG-126784 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: Ia52a6f7cd8e082e07b8cc8d59c345d4e2508aa19 Reviewed-by: Laszlo Agocs <[email protected]>
QQuickPdfPageImage::load() calls carrierFile() to get a QPdfFile instance, a subclass of QIODevice, and calls QQuickPixmap::loadImageFromDevice() which saves the device to QQuickPixmapData::specialDevice, then calls QQuickPixmapReader::startJob() which sends a ProcessJobs event. The worker thread handles it in QQuickPixmapReader::processJob() and calls readImage(), passing a simple QIODevice *dev. readImage() relies on that pointer being valid until the work is done. However, QQuickPdfDocument::setSource() may have called deleteLater(). We can detect it, and in that case there is no point in continuing this render job. Also, change QPdfFile's thread affinity to the renderer thread, so that deletion cannot happen until after readImage() is done and the renderer thread has returned to its event loop. Fixes: QTBUG-128875 Pick-to: 6.8 6.7 6.5 Change-Id: I1e8bf526c5596ce561d7bf4f7dea8d50f3c0eb18 Reviewed-by: Axel Spoerl <[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.