-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calls order of q_invokable method #10
base: 6.2
Are you sure you want to change the base?
Commits on Oct 7, 2024
-
Added a delay to the "closed" signal with Qt::QueuedConnection so that "triggered" signal could be handled before close. Fixes: QTBUG-128158 Change-Id: Ia4185198fa523a9c87bf56b61a63e9461412d478 Reviewed-by: Mitch Curtis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5f30988 - Browse repository at this point
Copy the full SHA 5f30988View commit details -
qmlformat: Pass QQmlFormatOptions by const ref
There actually is a code path that returns it as-is and that saves a copy this way. Coverity-Id: 469518 Coverity-Id: 469514 Change-Id: I50bcfe6c30648baba192233003d4a77fb8a4d048 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Ulf Hermann committedOct 7, 2024 Configuration menu - View commit details
-
Copy full SHA for 5ecfe3d - Browse repository at this point
Copy the full SHA 5ecfe3dView commit details
Commits on Oct 8, 2024
-
QQuickItem: Correct coordinate conversion to QPointF
Use QPointF instead of QPoint for accurate mapping of coordinates. Amends 317ae95 [ChangeLog][QQuickItem] The function mapToItem(item, real x, real y) now returns a point with real values instead of rounding to an integer. Fixes: QTBUG-119034 Pick-to: 6.8 6.5 Change-Id: I2c11ec03bdc925c55f48f309f22083b754023cf0 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1f618ee - Browse repository at this point
Copy the full SHA 1f618eeView commit details -
tst_qmllint: split up tst_qmllint:testPlugin
Split the test up in multiple tests, and move the test files in separate folders (as the data folder is already way too big). Change-Id: Id6c22e4e0c60fb8115c15c1a19ad10b454fbd3fc Reviewed-by: Semih Yavuz <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 395499e - Browse repository at this point
Copy the full SHA 395499eView commit details -
ListView: fix countChanged not being emitted in certain cases
This broke after 477c15d. countChanged would have normally been emitted in the call to applyModelChanges that we skipped after adding the q->size().isNull() check. We can check hasPendingChanges() to know if a count change is pending (which is also the first thing applyModelChanges checks before doing its work), and if so, emit countChanged so that any bindings that are relying on it can function as expected. Fixes: QTBUG-129165 Pick-to: 6.8 6.7 6.5 Change-Id: Ic045f1870b39d192f6880e23daab03fd73a16d58 Reviewed-by: Fabian Kosmale <[email protected]> (cherry picked from commit 0a1d8fb)
Configuration menu - View commit details
-
Copy full SHA for 101df5c - Browse repository at this point
Copy the full SHA 101df5cView commit details -
Docs: Add FluentWinUI3 style to the list of available styles
Pick-to: 6.8 Change-Id: I40c103020432540c038932a4fe0516cac3b1ad3b Reviewed-by: Volker Hilsheimer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8dab082 - Browse repository at this point
Copy the full SHA 8dab082View commit details -
QmlCompiler: Require QQmlJSRegisterContent as scope types
This is the first step in chaining up the values in a graph. We can only derive the next node of the graph if we have a full previous node. QQmlJSRegisterContent will ultimately just be a container for a node. Prepare for this by requiring QQmlJSRegisterContent as input when creating a new register content. In some cases we can't actually nest contents, yet. Therefore we chicken out by creating synthetic QQmlJSRegisterContents. Task-number: QTBUG-124670 Change-Id: Idad793692ca78d71ba17107d396e508bc1392b67 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Ulf Hermann committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for d008834 - Browse repository at this point
Copy the full SHA d008834View commit details -
qmlls documentation hints: fix parsing of html documentation
Also skip the first paragraph if it starts with <p><b>. The actual documentation usually starts in the second paragraph if the first paragraph contains the <b>. This will remove the warnings contained in any accompanying (\note or \warnings) text box. Also, this post processing only happens in HtmlExtractor::Simplified mode. Pick-to: 6.8 Task-number: QTBUG-120016 Change-Id: I367f8aded68972d34f31ed380ed3317865c289f3 Reviewed-by: Sami Shalayel <[email protected]>
Semih Yavuz committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for 5d34b77 - Browse repository at this point
Copy the full SHA 5d34b77View commit details -
qmlls: redesign documentation hints
There are two ways to obtain the help through help plugin. The first is querying the keyword which will probably give a hell of a lot resulting results to be processed. Better way is to search the keyword by id which will give the precise documentation for the given name. id's are kept in the form of DocumentName::keyword form in the relavant .qhp file. So, to get the correct documentation for an identifier, one should find the defining scope for that identifier and try to get the relavant link by searching DefiningScopeName::identifierName. Documentation for most of the qml properties are found in the Qml named namespace in the .qhp file. For example, x,y,width,height of an Item are defined in QQuickItem scope but documentation doesn't exist for QQuickItem::x, but for Item::x. To get the proper mapping, utilise typeResolver->importedNames() method and introduce the m_cppTypesToQmlTypes hash map. Pick-to: 6.8 Task-number: QTBUG-127051 Task-number: QTBUG-120016 Change-Id: I27d4c60b11cd2aff4b4cb8a19ab9817519799e06 Reviewed-by: Sami Shalayel <[email protected]>
Semih Yavuz committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for ffd39a4 - Browse repository at this point
Copy the full SHA ffd39a4View commit details -
doc: qmlls documentation hints
Pick-to: 6.8 Fixes: QTBUG-128797 Change-Id: I53ac0af6f98c6ad291762d4ea8d195529b84c51a Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Semih Yavuz committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for c065151 - Browse repository at this point
Copy the full SHA c065151View commit details -
PointHandler: don't deactivate because of synth-mouse events
This is necessary after 0b7ee7a. If QQuickPointHandler::wantsEventPoint() ever returns false, QQuickPointerHandler::handlePointerEvent() calls setActive(false). If AA_SynthesizeMouseForUnhandledTabletEvents is enabled, and PointHandler is the only handler trying to handle tablet events, it does not accept the events; so QGuiApplicationPrivate::processTabletEvent() sends a synth-mouse press for each tablet press. If the position doesn't match the last-known mouse position, QGuiAppPriv::processMouseEvent() sends a synth-mouse move, too. PointHandler doesn't care about either of these synth-mouse events, but it has to say that it "wants" them to avoid getting deactivated. But in spite of that, we don't want QQuickSinglePointHandler::handlePointerEventImpl() to call QQuickHandlerPoint::reset() with those synth-mouse events, because then the tablet-specific data from the previous QTabletEvent would get overwritten. In general, pointer handlers handle original device-specific events only, and we just have to avoid letting these synth-mouse events interfere. There were a couple of places that were assuming that if an event is not a QTouchEvent, then it's safe to cast it to QSinglePointEvent; that's usually true, but isSinglePointEvent() exists since qtbase 9a1a15b42fb526ad4f80944afb7761bfff1b5c9d so we might as well use it. Previously, we'd set acceptedButtons: Qt.LeftButton | Qt.RightButton to indicate that the PointHandler should respond to either one; but now it's better to set Qt.NoButton to indicate that it doesn't care. The synth-mouse move has no buttons set; if PointHandler only "wants" events with specific buttons, that buttonless move will deactivate it temporarily, and then the synth-mouse move would re-activate it, causing extra activeChanged and pointChanged signals. But so far, its default for acceptedButtons is still Qt.LeftButton. Perhaps we should change it. The special meaning in QQPointerDeviceHandler::wantsPointerEvent() for Qt.NoButton started already with HoverHandler in 1982d1b and then fc636af for PinchHandler. Those handlers fundamentally don't need to care about buttons, so they declare it by setting acceptedButtons = Qt::NoButton in their ctors, and the user should not set it differently; whereas with PointHandler, we do expect the user to set acceptedButtons. tst_PointHandler::tabletStylus now has code to test both with and without AA_SynthesizeMouseForUnhandledTabletEvents. But in the "true" case (the default), it won't pass until we also change QGuiApplicationPrivate::processMouseEvent() to send synth-mouse-moves from the same device that sends the mouse press, which itself is synthesized from the tablet press. [ChangeLog][QtQuick][PointHandler] If PointHandler is declared with acceptedButtons: Qt.NoButton it now means that the PointHandler does not care which buttons are pressed or not pressed: but it ignores synth-mouse events and responds only to events that come from the appropriate kind of device. If specific acceptedButtons are set, synthetic mouse-moves can deactivate it temporarily. Pick-to: 6.8 Fixes: QTBUG-111336 Change-Id: Ic48565f74d247803e338d2e368a5ef9d249296c2 Reviewed-by: Doris Verria <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 87b7a9b - Browse repository at this point
Copy the full SHA 87b7a9bView commit details -
tooling: Make QtQuick.tooling types instantiatable
Amazingly, all it takes is to import the QtQuick.tooling module into a namespace. As a drive-by, also fix the public/private #define'ery in tst_toolsupport.cpp. That's quite wrong. Fixes: QTBUG-129196 Change-Id: I29785f068b88820926356fe5facd871187a56ea1 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for b61c19f - Browse repository at this point
Copy the full SHA b61c19fView commit details -
QmlCompiler: Keep one QQmlJSRegisterContent for the JS global object
There is only one JS global object. We should not re-create the value whenever we use it. This removes some syntheticType(). Task-number: QTBUG-124670 Change-Id: If0ea6dee9a46a7b9f9442834cd6f44a5713c6b0a Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for 7dcaa6c - Browse repository at this point
Copy the full SHA 7dcaa6cView commit details -
QtQml: Allow creating attachments from unregistered types
We can resolve the attached properties function without querying the type registry. The attached properties function can be resolved with pure C++, given it's surrounding type, name, and signature. We already have functionality to do so in qqmlprivate.h This is not only faster, but also avoids the problem of having to register dependent types before being able to use their attachments. Pick-to: 6.8 6.5 Fixes: QTBUG-128895 Change-Id: I5c1df81a43195eb4dd97a4abfaa79f3cfe39355e Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for 18804f2 - Browse repository at this point
Copy the full SHA 18804f2View commit details -
QmlCompiler: Also remove declaration of setLookupPreparation
Amends commit 573b6a5 Change-Id: I4fe93712303adcb32db5760694ae96c1516569d8 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for 459f797 - Browse repository at this point
Copy the full SHA 459f797View commit details -
QtQml: Move amendException into ExecutionEngine
We'll need it in more places. Change-Id: I8dc23a4b8ee873c0b8e84b3aed9872d48959a021 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for 7744160 - Browse repository at this point
Copy the full SHA 7744160View commit details -
QmlCompiler: Allow explicit specification of type-by-name lookup
We want to avoid synthesizing the type. Instead the scope should be specified. Task-number: QTBUG-124670 Change-Id: If9f6a6c4dad1ec4ff2ad84d1b83a0bc720a8f589 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 8, 2024 Configuration menu - View commit details
-
Copy full SHA for f2cfadc - Browse repository at this point
Copy the full SHA f2cfadcView commit details
Commits on Oct 9, 2024
-
Doc: Menu QML Type docs refers the deprecated code snippet
The example code snippet in the documentation https://doc.qt.io/qt-5/qml-qtquick-controls2-menu.html caused a warning: Parameter 'mouse' is not declared. Injection of parameters into signal handlers is deprecated. Changed the code snippet in the documentation to use lambda functions. Now users can use the code snippet without triggering any warnings. Fixes: QTBUG-128520 Change-Id: Id787af63521a46c82302176c8da8fca4d49bb1b3 Reviewed-by: Axel Spoerl <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a70ddf1 - Browse repository at this point
Copy the full SHA a70ddf1View commit details -
qml: limit qml file size to 2GB or 4GB in parser
Add a check in the lexer and fail in the parser if the file to be parsed is too big for qsizetype and quint32. QQmlJS::SourceLocation uses quint32 to save the offset, and code using QQmlJS::SourceLocation's offset usually do their computation on qsizetype. Therefore, limit the QML file size to std::numerical_limits<quint32>::max() on 64 bits machine when qsizetype has a representation for std::numerical_limits<quint32>::max(), and to std::numerical_limits<qsizetype>::max() otherwise. Thats 2Gb on 32 bits machine and 4Gb on 64 bits machine. Currently, using qml tooling on files bigger than the limits mentioned above already leads to UB without this patch. Add a helper to construct SourceLocation from qsizetype indexes. Task-number: QTBUG-127833 Change-Id: Ic255964e13ebae08488ed160e59d504638f1b9ad Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4baa3b7 - Browse repository at this point
Copy the full SHA 4baa3b7View commit details -
SourceLocation: make begin() and end() qsizetype
Change begin() and end() to return a qsizetype, as now we only process QML files where quint32 can safely be casted to qsizetype. This allows to change all users of begin() and end() to use qsizetype, and to silence all MSVC compile warnings about comparison of ints with different signedness. Fixes: QTBUG-127833 Change-Id: I251435aa598386effe0259549dbe94d17b0d806b Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b14891e - Browse repository at this point
Copy the full SHA b14891eView commit details -
Style docs: Add link to the FluentWinUI3 style at the end of page
Pick-to: 6.8 Change-Id: I723dc8740a37f6aa92c73cca1b5ecc364578185d Reviewed-by: Mitch Curtis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e57eba7 - Browse repository at this point
Copy the full SHA e57eba7View commit details -
Add scale and transform notifiers
There are existing notifiers (QQuickItem::ItemChange and QQuickItemChangeListener) for geometry (position and size), and rotation. Scale has a public signal but no corresponding notifiers. Transform is also affected by QQuickTransform instances attached to the item, and when any of those change there is currently no mechanism available to public or private API's to detect such changes. This change adds the notifiers so the set is complete - Geometry, Rotation, Scale, and Transform which catches all three and transform changes. Task-number: QTBUG-10644 Change-Id: Ib57dbe23c600a493b4e08ce8edad078e10e28d09 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9062ba3 - Browse repository at this point
Copy the full SHA 9062ba3View commit details -
Curve renderer: ensure timely deallocation of temporary vertex data
During processing, a significant amount of intermediate ("uncooked") vertex data is allocated for every fill and stroke node. After the final, smaller vertex data is generated, the intermediate data was intended to be deallocated right away. Since the QList API now requires 2 calls to actually deallocate, that did not happen, and the data would live on as long as the node (path) itself. Pick-to: 6.8 Change-Id: I48efa5d0bc2b226c5eaac37dbba485b653604bfd Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 337ef1b - Browse repository at this point
Copy the full SHA 337ef1bView commit details -
QmlCompiler: Remove the extension content variants
Instead model the retrieval of an extension as explicit separate step. With this in place, we don't have to synthesize the QQmlJSRegisterContent for extensions anymore. Task-number: QTBUG-124670 Change-Id: I20394ac8b8a30d7eb9efc91c4e99ef9255a9520b Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 9, 2024 Configuration menu - View commit details
-
Copy full SHA for 36ea709 - Browse repository at this point
Copy the full SHA 36ea709View commit details -
qmlls: Don't use raw string literals
This creates build issues on Windows Amends ffd39a4 Pick-to: 6.8 Change-Id: Ia031f2ed5275683da617df90bcab62d9fe56d4d2 Reviewed-by: Semih Yavuz <[email protected]>
Olivier De Cannière committedOct 9, 2024 Configuration menu - View commit details
-
Copy full SHA for 1374d2b - Browse repository at this point
Copy the full SHA 1374d2bView commit details -
fix tst_qmllint_import_rel_script on static builts
Make tst_qmllint_import_rel_script configure correctly on static builds, instead on failing on tst_qmllint_import_rel_script_init if that target was generated. Change-Id: Iaebf3159b506d29faac69e90eaa09d0e4c317ec5 Fixes: QTBUG-129585 Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc800c4 - Browse repository at this point
Copy the full SHA cc800c4View commit details -
tst_qmlcppcodegen: Compile test with QT_NO_CAST_FROM_ASCII
This should help find raw string literals in generated code Task-number: QTBUG-129797 Change-Id: I66e5d6302319678b494030e8cb3459eb06f0f134 Reviewed-by: Semih Yavuz <[email protected]>
Olivier De Cannière committedOct 9, 2024 Configuration menu - View commit details
-
Copy full SHA for 349a180 - Browse repository at this point
Copy the full SHA 349a180View commit details -
Compiler: Wrap raw string literals in QStringLiteral in generated code
Amends e7146cd Pick-to: 6.8 Fixes: QTBUG-129797 Change-Id: I5dc48412cf29bd2de877dd681ea309a6e74d75c5 Reviewed-by: Ulf Hermann <[email protected]>
Olivier De Cannière committedOct 9, 2024 Configuration menu - View commit details
-
Copy full SHA for d63c560 - Browse repository at this point
Copy the full SHA d63c560View commit details -
qmldom: don't construct unique_ptr on incomplete types
This should fix the compiler error on XCode 16, by moving the default constuction of std::unique_ptr<BindingValue> into the cpp file, where BindingValue is known. Pick-to: 6.7 6.8 Fixes: QTBUG-129766 Change-Id: I58aae92c28553d0a0bff0c39a352d4f1444bd6aa Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f6b8993 - Browse repository at this point
Copy the full SHA f6b8993View commit details -
QML Previewer Example: Prevent unnecessary state changes
Previously, when setting a new file address and pressing the close button, the focus would move to the quick widget due to QLineEdit::editingFinished() being called. This triggered an attempt to close the old file and open the new one, causing unintended state transitions. To resolve this, we now reload the file content and update the quick widget's source without transitioning to CloseState and OpenState. This is achieved by updating the file path and emitting stateChanged() from OpenState to OpenState in the StateController, notifying other widgets to reload their content. Pick-to: 6.8 Change-Id: Ic623d320fe1736e11fd538a6735632b19c507394 Reviewed-by: Jan Arve Sæther <[email protected]> Reviewed-by: Doris Verria <[email protected]>
MohammadHossein Qanbari committedOct 9, 2024 Configuration menu - View commit details
-
Copy full SHA for bd3ad6c - Browse repository at this point
Copy the full SHA bd3ad6cView commit details -
QQuickWidget: fix flaky test (tst_qquickwidget::tabKey())
Fixes: QTBUG-129182 Pick-to: 6.8 Change-Id: I6b7624eb514c42587870d6c3e1c1f43fcf691eae Reviewed-by: Axel Spoerl <[email protected]>
MohammadHossein Qanbari committedOct 9, 2024 Configuration menu - View commit details
-
Copy full SHA for a6db210 - Browse repository at this point
Copy the full SHA a6db210View commit details -
Doc: Add source string template code snippet for qsTrId
Add code snippet for how to supply source string templates to Qt::qsTrId using /*% <string> */. The /begincomment and /endcomment expand to /* and */, respectively. Fixes: QTBUG-127794 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: I84b77179892eea6dba2c8816b658916d665e718e Reviewed-by: Joerg Bornemann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 00a4a18 - Browse repository at this point
Copy the full SHA 00a4a18View commit details -
QQuickFlickable: don't pause during drag when changing drag direction
Flickable/ListView/TableView would sometimes pause (or lag) for almost a second if you dragged it in one direction, but then switched to drag it in the opposite direction (without lifting your finger). This was especially evident on iOS. It could be reproduced in, for example, the Gallery app (the controls-list in the drawer), or any other app with a Flickable. The reason this happened, was because a "reversed" drag would cause dx and dy to converge back to zero (compared to the starting point of the drag), which would result in overThreshold becoming false again. And since the deltas ended up below the threshold, the content item stopped moving. Rather than overThreshold becoming false when dragging back to the starting point, this patch will change it so that it stays forever true once dragging has started. It will also remove the related dx/dy != 0 checks because of the same reason; Once in dragging mode, the content item should always move, even if it was dragged back to the starting point (dx/dy == 0). Fixes: QTBUG-129599 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: I86d4e6eba74bbb52884bac4782531ac90818323d Reviewed-by: Jan Arve Sæther <[email protected]>
Richard Moe Gustavsen committedOct 9, 2024 Configuration menu - View commit details
-
Copy full SHA for dc5b8f5 - Browse repository at this point
Copy the full SHA dc5b8f5View commit details -
Fix readOnly textEdits getting tabFocus on macOS
On macOS, readOnly/non-editable text controls don't accept tab focus. This behavior is also respected in Qt since c1d2bcf . Since this behavior is particular to macOS and not to other platforms, in Qt we have tabFocusBehavior() in qGuiApp->styleHints() which represents the system setting. For all platforms other than macOS this always returns Qt::TabFocusAllControls, which hints that all enabled controls should receive tab focus no matter if editable or not. On macOS if this true, all controls will accept tab focus, and if not, it means that only editable text inputs and lists will. The problem was that on macOS readOnly text edits were receivng tab focus even if tabFocusBehaviour was not Qt::TabFocusAllControls. This was because they have an EditableText accessible role, which took precedence over their editable status. To fix, if tabFocusBehaviour allows, non-editable/readOnly properties should not receive tab focus no matter the accessible role. While at it, move the tabFocusBehaviour check inside QQuickItem::canAcceptTabFocus. Remove expect_fail in test covering case. Note that this patch assumes that if tabFocusBehaviour == Qt::TabFocusAllControls readOnly text inputs will receive tab focus on macOS too, even if this is never the case on a native application: such inputs never get tab focus on Mac. We could introduce a new enum value for tabFocusBehaviour that more accurately depicts the readOnly text input focus behavior. Pick-to: 6.5 6.8 Change-Id: I098f75eb118b04f73dae3deec0c798f18870a202 Reviewed-by: Jan Arve Sæther <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aa7eb60 - Browse repository at this point
Copy the full SHA aa7eb60View commit details -
QuickControls.Basic: Add missing dependency entry
Basic needs to depend on Templates, as it reuses the Overlay attached object from there. At runtime, this already works, but tooling needs a hint; otherwise it will only find the uncreatable Overlay type, not the attached one. Fixes: QTBUG-129799 Pick-to: 6.8 Change-Id: I536482cfebfde8a5b61adcc87e3fa2a0b33814ff Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5ba55ed - Browse repository at this point
Copy the full SHA 5ba55edView commit details
Commits on Oct 10, 2024
-
Add internal docs about async image loading with a QIODevice subclass
It's a rather intricate mechanism, so it's best to have it documented for later memory refresh. Task-number: QTBUG-128875 Change-Id: I1d66cc1f0453abfd80330ec4318c2af25a3609e3 Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 78640ff - Browse repository at this point
Copy the full SHA 78640ffView commit details -
QmlCompiler: Store full type information for conversion origins
With this in place, we don't have to synthesize conversion origins anymore and get to trace values through conversions. Task-number: QTBUG-124670 Change-Id: Ib3646d410526eca7b982f86adef9d5a387ff56ea Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 10, 2024 Configuration menu - View commit details
-
Copy full SHA for 7112674 - Browse repository at this point
Copy the full SHA 7112674View commit details -
QmlCompiler: Properly link up the retrieval of base types
With this in place we don't have to synthesize the QQmlJSRegisterContent for base types anymore. Task-number: QTBUG-124670 Change-Id: Iafc1838c64e6191bf9b84163e4c1b14ea14dd2c9 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 10, 2024 Configuration menu - View commit details
-
Copy full SHA for afd65bf - Browse repository at this point
Copy the full SHA afd65bfView commit details -
Introduce FontMetrics.capitalHeight property
This property was added to QFontMetricsF in Qt 5.8, but was never added to the Qt Quick API. [ChangeLog][QtQuick][Text] Added FontMetrics.capitalHeight property to match the QFontMetricsF::capHeight() property. Change-Id: I9c348b05f9f6a52b6fc4645ca7f001d7cad87c41 Reviewed-by: Mitch Curtis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 14299fe - Browse repository at this point
Copy the full SHA 14299feView commit details -
Clean up CMake output from wearable example when building qtdeclarative
Remove the two CMake warnings from the CMake output when building QtDeclarative. The warnings come from a missing optional dependency for the wearable example. Pick-to: 6.7 6.8 Change-Id: Id9bf2ccc4d6db2ea44618b2119c69c89e271a870 Reviewed-by: Matthias Rauter <[email protected]>
Ed Cooke committedOct 10, 2024 Configuration menu - View commit details
-
Copy full SHA for d551341 - Browse repository at this point
Copy the full SHA d551341View commit details -
Log state transitions for the GC
Add a new logging category, "qt.qml.gc.stateTransitions", that can be enabled to receive some simple log lines about the GC being on the verge of executing the current state and about the new state that it transitioned to after the execution. As the new logs print the current state, which is stored through the `GCState` enum, slightly modify the code to allow for registering the enumeration with `Q_ENUM`. In particular, move `GCState` and `GCStateInfo`, the latter due to the dependencies between the types, under `GCStateMachine`. Make `GCStateMachine` a `Q_GADGET` and `GCState` a `Q_ENUM` and provide some using statements to reduce the impact of the changes. Finally, fix the unqualified accesses to the variants of `GCState` to support the new structure. Task-number: QTBUG-128357 Pick-to: 6.8 Change-Id: I9d469ddb745f70b9c4553379f6d96719b3a2bb09 Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c048f83 - Browse repository at this point
Copy the full SHA c048f83View commit details -
Log when forcing the GC to run to completion
Add a new logging category, "qt.qml.gc.forcedRuns", and issue a log line when a GC run is forced to completion or fails to do so by being in a critical section. Task-number: QTBUG-128357 Pick-to: 6.8 Change-Id: I83ccb60636307e9e8f2aa47fdffb50e39b3e8f17 Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 98476d8 - Browse repository at this point
Copy the full SHA 98476d8View commit details -
Log timings for individual GC steps
Add a logging category `qt.qml.gc.stepExecution` that is used to enable the additional logs. `GCStateMachine` was modified to carry some additional state related to the registered timings over multiple run of a single step. Call to the execution parts of a state were modified to collect some measurements and log them if the relevant logging category is enabled. Task-number: QTBUG-128357 Pick-to: 6.8 Change-Id: I6fc620c85534edc82546130f32bf2af49af6bcdd Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 83755ca - Browse repository at this point
Copy the full SHA 83755caView commit details -
Remove unused <iostream> header inclusion from qv4mm.cpp
The header seems to be currently unused. Change-Id: I98967766ecf2c7a5b48dca7fb91a2f66d72223a6 Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 09362fa - Browse repository at this point
Copy the full SHA 09362faView commit details
Commits on Oct 11, 2024
-
Gauge was part of Qt Quick Extras, but its implementation used Loader and was very heavy. This patch implements it using C++ to avoid that. As Gauge is quite complex and has a lot of possiblities for how users could style it, this patch offers an example that can be used as a starting point, and customized using a familiar delegate-based API. The goal is to provide a set of C++ and QML files that users can simply copy into their projects. Fixes: QTBUG-111770 Change-Id: I389058296d65063e9ab6f6e484c59eb526b058b0 Reviewed-by: Jan Arve Sæther <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for baddb27 - Browse repository at this point
Copy the full SHA baddb27View commit details -
Memory manager: Ensure that internal class is set early
If the internal class is not set early enough, we will run into a crash if the object to hold the internal class ends up on the markstack, and the markstack gets drained. This can happen when the markstack runs out of space (reaches the softlimit), and does early draining. We force this condition in the test via a test-only function to manipulate the soft-limit. Pick-to: 6.8 Change-Id: I13598797811d697981ef7018c5aa87251331ab17 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 74416bf - Browse repository at this point
Copy the full SHA 74416bfView commit details -
QmlCompiler: Fix a coverity warnign
Clarify a type. Coverity-Id: 469550 Change-Id: I2f307ef3d0c6a855bcb914094a3a9cd7dcd3038d Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 11, 2024 Configuration menu - View commit details
-
Copy full SHA for 946faca - Browse repository at this point
Copy the full SHA 946facaView commit details -
QmlCompiler: Properly encode retrieval of JavaScript parent scope
This is the last place where we had to create synthetic types, so delete the syntheticType() method, too. Task-number: QTBUG-124670 Change-Id: I88ee90c9adedd86374ea5e5e8106ddd68c4b285e Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 11, 2024 Configuration menu - View commit details
-
Copy full SHA for 6109304 - Browse repository at this point
Copy the full SHA 6109304View commit details -
QmlCompiler: Fix string.arg() for large integers
When passing a 64bit integer to string.arg() we better read it as a double rather than a 32bit integer. This might still lose some precision, but at least it doesn't clamp. Amends commit 372db48 before which 64bit integers were not considered integral and therefore took the other code path that converts to double. Pick-to: 6.8 Change-Id: Ie4bf770e9cf195aafcf44d72d59318aeb2f5dd70 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 11, 2024 Configuration menu - View commit details
-
Copy full SHA for 4bc3911 - Browse repository at this point
Copy the full SHA 4bc3911View commit details -
Fix tooltips in the svg manual test; use CurveRenderer
Tooltips didn't match the headings. But the headings seem to be right. Change-Id: Ib75818324e5a7ddde69419187e5fd5dcbbab06b9 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4aa093b - Browse repository at this point
Copy the full SHA 4aa093bView commit details -
QQmlSettings: Write parent properties from an overridden setting
`QQmlSettings` can save and load settings values based on the properties defined on its usages in a QML project. The logic that handles which properties are to be considered, currently uses the MetaObject of a specific instance/type to filter out all properties that are not defined by the instance/type itself. It is possible to have a component derive from a `QQmlSettings` component that defines certain properties. With the current logic, all properties that are not directly defined on the child component will not be considered when saving/loading settings values, so that changes to them might be lost. To fix the issue, ensure that instances of `QQmlSettings` consider all properties that are not base properties of `QQmlSettings`, so that inherited properties will be saved/loaded. Add a test case to `tst_qqmlsettings` that show such a usage. Fixes: QTBUG-129515 Change-Id: I3034de3cbe9a49969bae1ba90a567e4d0eda514a Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 20fc552 - Browse repository at this point
Copy the full SHA 20fc552View commit details -
Blacklist tst_QQuickTextEdit::mouseSelection() on macOS arm 12/13
Test is flaky and can't be investigated due to broken VM accessibility on openNebula. Task-number: QTBUG-129947 Task-number: QTQAINFRA-6626 Change-Id: I5d5866498e60baa1d012ed5562b1cbe4fb91ca97 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9f16780 - Browse repository at this point
Copy the full SHA 9f16780View commit details -
QQmlSA: fix sourcelocations for plugins
Fix qqmljstypepropagator to pass more correct sourcelocations to QQmlSA plugins: replace approximate getCurrentBindingSourceLocation() calls with more precise getCurrentNonEmptySourceLocation() calls. getCurrentNonEmptySourceLocation() is a newly introduced helper method that filters out empty sourcelocations. Empty sourcelocations happens for example for: someValue: 42 where the parser generates a return with an empty sourcelocation: someValue: return 42 This also adds the ability to check signal handlers in QQmlSA plugins, as those were previously ignored in QQmlJSTypePropagator::generate_ret_SAcheck(). Add a test to make sure the new sourcelocations do make sense, and add sourcelocations to the expected warnings in the quick plugin. This has the advantage that warnings become deduplicated because of their more precise sourcelocations. Previously, two warnings on the same binding would share the same sourcelocation, which would technically generate two identical warnings that complain about two different things. Also fix the lintplugin in tst_qmllint to use the correct sourcelocations. This is needed for the .ui.qml warnings QQmlSA plugin. Task-number: QTBUG-129308 Change-Id: Id52da7cf9ba586edcdae523017720fb695dd2726 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5fc2bfd - Browse repository at this point
Copy the full SHA 5fc2bfdView commit details
Commits on Oct 12, 2024
-
QmlCompiler: Simplify content variants for QQmlJSRegisterContent
Instead of having a cross product of "scope" and "object" on the one hand and "property", "method" and "enum" on the other hand, use the scopeType to resolve what kind of element a property, method or enum belongs to. Task-number: QTBUG-124670 Change-Id: Ia9db05e13979e55e0ed7912afc2003dfd018987a Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 12, 2024 Configuration menu - View commit details
-
Copy full SHA for 9527ad1 - Browse repository at this point
Copy the full SHA 9527ad1View commit details
Commits on Oct 13, 2024
-
QmlCompiler: Unify the method call content variants
We can infer from the method itself whether it's a JavaScript call or a C++ call. Therefore, what we need to carry around is the QQmlJSMetaMethod. This way we can do with only one content variant for all kinds of calls. Task-number: QTBUG-124670 Change-Id: I1d8193018f0224924b8aef5181c398674bde857d Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 13, 2024 Configuration menu - View commit details
-
Copy full SHA for c181bf9 - Browse repository at this point
Copy the full SHA c181bf9View commit details -
Revert "QQuickFlickable: don't pause during drag when changing drag d…
…irection" This reverts commit dc5b8f5. It seems to have broken the ability for MapView's DragHandler to start dragging if a parent Flickable is still moving. Pick-to: 6.8 Fixes: QTBUG-129941 Reopens: QTBUG-129599 Change-Id: I225f360faabe8a99dc9ecd7e649500679899a0a6 Reviewed-by: Volker Hilsheimer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d4db7b9 - Browse repository at this point
Copy the full SHA d4db7b9View commit details -
QmlCompiler: Introduce a content variant for literals
This reduces the amount of "global" and "builtin" we have to use. Task-number: QTBUG-124670 Change-Id: I7da71c7751f852c065fe9f4736d4d8dc78b98c50 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 13, 2024 Configuration menu - View commit details
-
Copy full SHA for f062cf2 - Browse repository at this point
Copy the full SHA f062cf2View commit details
Commits on Oct 14, 2024
-
Docs: Mention QEvent::accept() in the QQuickItem::keepMouseGrab()
This commit adds links to QEvent::accept() and QEvent::ignore() to the see also section of QQuickItem::keepMouseGrab() and QQuickItem::keepTouchGrab() Task-number: QTBUG-128933 Pick-to: 6.8 Change-Id: I322b3f885296fe4fd95734cfc51b25cbe6a37385 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 252195e - Browse repository at this point
Copy the full SHA 252195eView commit details -
QmlCompiler: Add a content variant for JavaScript operations
This reduces the amount of global and builtin we have to use. Task-number: QTBUG-124670 Change-Id: I9c5600e71047a8e27db526557253694a301700d5 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 14, 2024 Configuration menu - View commit details
-
Copy full SHA for 6911a76 - Browse repository at this point
Copy the full SHA 6911a76View commit details -
QmlCompiler: Resolve types for calls in init step
Now that resolving the types can be more expensive, especially for composite types, we should be careful not to do it too often. Most of the cases where we have to resolve types are for lookups. Most of the lookups only resolve types in their "init" step, which ideally is only performed once in the application life time. However, so far calls had to pass the types of arguments and return values in the actual "lookup" step, which causes the resolution to happen on every call. This change moves those type resolutions to the init step. We can do this because: 1. Regular typed method calls are calls to a specific overload with specific types. The method itself already has the list of types and we can just remember which one that is. Then we don't need to pass the types. 2. Calls to shadowable methods are all-QVariant typed. The only thing we need to know is the number of arguments. Then we can construct the list of types in the lookup itself. We can remember which one of those we're dealing with by adding further "AsVariant" lookup functions. For the case of non-property-cached regular methods we also need a new "Fallback" lookup like we already have it for properties. Change-Id: I74a3729131d6a5ea0ad79e276965a5167cd609be Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 14, 2024 Configuration menu - View commit details
-
Copy full SHA for a741271 - Browse repository at this point
Copy the full SHA a741271View commit details -
Curve renderer: Avoid keeping unneeded QuadPath object
The pathData structure would keep a copy of the QuadPath used to generate the stroke nodes. That copy was never used for anything, so remove it. This commit also cleans up the functions to generate stroke nodes, by decoupling them from the internal PathData structure. This was earlier done for the corresponding addFillNodes() function. Pick-to: 6.8 Change-Id: I414b421dfc0cdf5c38e52a298476433f7643b5db Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 226c212 - Browse repository at this point
Copy the full SHA 226c212View commit details -
tst_qv4mm: Avoid warnings in non-JIT build
Change-Id: If3d1e61636b257a721ed7b22d57db1e3d9d11565 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 012b77e - Browse repository at this point
Copy the full SHA 012b77eView commit details
Commits on Oct 15, 2024
-
QmlCompiler: Rename code generator methods that merely retrieve types
Since QQmlJSCodeGenerator has so many methods that do different things, it's good to be explicit. The "literal" method, for example, did not actually generate code for a literal of any kind. Change-Id: Ife6ac68bb54bc5c7511fa2c58b84d141ddbf74f2 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 15, 2024 Configuration menu - View commit details
-
Copy full SHA for 6cd2b33 - Browse repository at this point
Copy the full SHA 6cd2b33View commit details -
Docs: Minor improvements in the Writing QML Extensions with C++ topic
Fixes: QTBUG-129926 Task-number: QTBUG-129929 Pick-to: 6.8 Change-Id: I8f9a91b3a9d222e94883cafcd5c6267c717f10f6 Reviewed-by: Mats Honkamaa <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e852293 - Browse repository at this point
Copy the full SHA e852293View commit details -
QtQml: Drop mis-handling of context objects in AOT lookups
This prevented direct mode from ever successfully completing a direct access to a scope object property. There is no reason to consider context object lookups since we cannot do anything with context objects here. Pick-to: 6.8 Change-Id: Ifcbaa5934e383db2fc65953340443a5c29f04f8d Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 15, 2024 Configuration menu - View commit details
-
Copy full SHA for 60df796 - Browse repository at this point
Copy the full SHA 60df796View commit details -
QmlCompiler: Add a content variant for conversions
When we want to read a value of a specific type, this is in effect a conversion to this type and should be marked as such. Task-number: QTBUG-124670 Change-Id: I5ecec6e38f1f211bf527312ab3b93df580055ef9 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 15, 2024 Configuration menu - View commit details
-
Copy full SHA for 88003c8 - Browse repository at this point
Copy the full SHA 88003c8View commit details -
Revert "Docs: Android: Add known issue about multiple QtQuickView cle…
…anup" This reverts commit 3787a3e. Reason for revert: Issue has been fixed. Task-number: QTBUG-127422 Change-Id: I219e27e1665dd4aab30ce51088b9051397d4e164 Reviewed-by: Assam Boudjelthia <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52e2166 - Browse repository at this point
Copy the full SHA 52e2166View commit details -
Re-enable Fbo mode in QQuickPaintedItem with OpenGL only
For the time being this is feasible since the Qt Quick library links to (Qt)OpenGL still due to classes such as QQuickFbo or QQuickOpenGLUtils. In principle, having OpenGL-specific code returning to the common code base is far from ideal, but since Qt Quick is not entirely free from this anyway, we might just live with it for now. Import the Qt 5 code in the painter node, all under ifdef QT_CONFIG(opengl) and a runtime check for the QRhi backend. [ChangeLog][QtQuick][QQuickPaintedItem] QQuickPaintedItem is made to behave identically to Qt 5 when the application is rendering with OpenGL and the renderTarget property is set to FramebufferObject or InvertedYFramebufferObject. Change-Id: If5297368836ca8373aae0365c5ae00a7b1ad50d9 Reviewed-by: Andy Nichols <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 92fe495 - Browse repository at this point
Copy the full SHA 92fe495View commit details -
QtQml: Remove redundant freeUnusedTypesAndCaches()
We do the same thing in the QJSEnginePrivate dtor, too. Doing it twice per engine shutdown creates a lot of unnecessary churn. Task-number: QTBUG-129388 Change-Id: I1c33e2efa33541673b97758b954dc4b1de1685a9 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 15, 2024 Configuration menu - View commit details
-
Copy full SHA for 0abdcda - Browse repository at this point
Copy the full SHA 0abdcdaView commit details -
QQuickItem: consistently check the delivery agent pointer
In paths that might be executed during destruction of items and shut-downs, check that the agent is not nullptr already. Reported crash is not reproducible in a test case, so no auto-test added. Fixes: QTBUG-129699 Pick-to: 6.8 6.5 Change-Id: Ic913b125655aed57fdb3924e9a4b8754e8095c47 Reviewed-by: Doris Verria <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 99a72a0 - Browse repository at this point
Copy the full SHA 99a72a0View commit details
Commits on Oct 17, 2024
-
Refactor: remove QQuickWindowPrivate::dragOverThreshold helpers
Call QQuickDeliveryAgentPrivate's static function directly. Change-Id: Ie2d3c30d4ffb552ceb78b2cc8e56f7271adddbc3 Reviewed-by: Doris Verria <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2d1d9d1 - Browse repository at this point
Copy the full SHA 2d1d9d1View commit details -
Refactor: remove QQuickWindowPrivate::clearFocusInScope helper
Call the QQuickDeliveryAgentPrivate API directly, using the QQDA we get from the relevant item's private where applicable, otherwise using the delivery agent we get from the QQuickWindow. Task-number: QTBUG-129699 Change-Id: Iebf44dc299cb9709d3ff4a00cf26b0d9c3d45ceb Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f254f34 - Browse repository at this point
Copy the full SHA f254f34View commit details -
QtQml: Protect lookupAttached() from identical COMDAT folding
MSVC thinks it can deviate from the standard and fold separate functions into the same code block even if their addresses are taken. This makes the addresses equal and breaks the lookup mechanism. We set up a dilemma for the compiler by explicitly comparing the function addresses and failing when they are equal. Now the new function has "different" code that will however be optimized away. Pick-to: 6.8 6.5 6.2 Fixes: QTBUG-128843 Change-Id: I42d9f764235b877c5c9e054502ea01a16369d27b Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 17, 2024 Configuration menu - View commit details
-
Copy full SHA for fa26df8 - Browse repository at this point
Copy the full SHA fa26df8View commit details -
QtQml: Protect value type lookupSetter() from identical COMDAT folding
MSVC thinks it can deviate from the standard and fold separate functions into the same code block even if their addresses are taken. This makes the addresses equal and breaks the lookup mechanism. We set up a dilemma for the compiler by explicitly comparing the function addresses and failing when they are equal. Now the new function has "different" code that will however be optimized away. Pick-to: 6.8 6.5 6.2 Task-number: QTBUG-128843 Change-Id: Id9512397fcbb238d880ee9966d8708fc576590c7 Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 17, 2024 Configuration menu - View commit details
-
Copy full SHA for 097712a - Browse repository at this point
Copy the full SHA 097712aView commit details -
QmlCompiler: Mark types in function signatures as "named"
We have the TypeByName content variant already for the related concept of naming a type in script code, for example to perform a type assertion. We can re-use it for signatures. Task-number: QTBUG-124670 Change-Id: If13518df2b2217769d02c4618f57203907b3f5f9 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 17, 2024 Configuration menu - View commit details
-
Copy full SHA for 848d3e6 - Browse repository at this point
Copy the full SHA 848d3e6View commit details -
Android: Update QtQuickView documentation to use new API
We should no longer be encouraging readers to use the old, string-based constructor for QtQuickView. Changed the code examples in the QtQuickView API documentation to use the new style of constructing. Task-number: QTBUG-130112 Pick-to: 6.8 Change-Id: I162350d237ac73427dcb09ba6e78aa9a8e350755 Reviewed-by: Assam Boudjelthia <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8801e76 - Browse repository at this point
Copy the full SHA 8801e76View commit details -
internal doc: fix mention of QQuickPixmapData::specialDevice
Probably I was trying to paste something by pressing Control-C, and the keyboard only got the c key. Amends 78640ff Change-Id: Ia830a02bacd8c7c6c8ba45aa9ba0bace8e528771 Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d758c34 - Browse repository at this point
Copy the full SHA d758c34View commit details
Commits on Oct 18, 2024
-
Fix conflicting QGfxSourceProxy meta object with the one in qt5compat
There are two QGfxSourceProxy classes in the codebase, one in qt5compat/src/imports/graphicaleffects5/private and the other in qtdeclarative/src/effects. In a static build, if a project links and initializes both qml modules, it is undetermined which QGfxSourceProxy class' meta object will be loaded. This can lead to the multi effects object version being loaded when initializing a component from the graphical effects module. You then get a warning message saying "Missing QML.Element class info for QGfxSourceProxy" and then a failure to load the QML module. This happened for the sample qmake project attached to the bug report this change is fixing. Rename the multi effects QGfxSourceProxy class to QGfxSourceProxyME (where ME stands for Multi Effects) to avoid the meta object conflict. Pick-to: 6.8 Fixes: QTBUG-130080 Change-Id: I0001f36b19e36deeddd32897d23c8bfa52011e02 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Kaj Grönholm <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4cfac3f - Browse repository at this point
Copy the full SHA 4cfac3fView commit details -
CMake: Fix incorrect ctest argument for shared_qml_module test
The shared_qml_module cmake build test project does not have a 'shared_qml_module' inner test target, it only has a 'test_models' one, so passing 'shared_qml_module' after the -V was incorrect, and even if the test existed, it should have been passed to the -R argument. Unfortunately ctest versions prior to 3.30 happily ignore incorrect arguments. This means that the -V argument was completely ignored because it was treated as a single argument due to the double quotes. Remove the incorrect test name, leaving just -V to run all found tests, like we do for other build tests. As a drive-by use the CMAKE_CTEST_COMMAND variable instead of plain 'ctest', like the other build tests. This is needed to ensure CI passes when CMake is updated to 3.30. Pick-to: 6.8 Task-number: QTQAINFRA-6484 Change-Id: Ic7d1c267985cf94d5806f3972d628ab1bf9352cf Reviewed-by: Alexey Edelev <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e66da5f - Browse repository at this point
Copy the full SHA e66da5fView commit details
Commits on Oct 19, 2024
-
Close Dialog when a DestructiveRole button is clicked
Assume that a button with DialogButtonBox.DestructiveRole is added to a dialog. When that button is clicked, it only emitted the discarded() signal. Now after emitting, we call QQuickDialog::close(). [ChangeLog][Controls][Important Behavior Changes] Dialog is now closed when a button with the DestructiveRole is clicked. Currently the only button with this role is Discard. Pick-to: 6.8 Fixes: QTBUG-67168 Change-Id: I3fbee383e10709630ba48cc420924ca71153e70f Reviewed-by: Mitch Curtis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fbc473d - Browse repository at this point
Copy the full SHA fbc473dView commit details
Commits on Oct 20, 2024
-
tst_qquickflickable: clean up ugly boilerplate
For some reason, people keep cargo-culting the ugly tests instead of using QQuickTest::showView(), which has been possible since 22c2008 and takes care of all the usual stuff: make sure the QML loaded a root item, center the window, move the mouse outside etc. This tends to stabilize tests too. Change-Id: I9dc170be9b9fe941bff380d334880dd6978e6865 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 696768f - Browse repository at this point
Copy the full SHA 696768fView commit details -
tst_MptaInterop: replace Q(TRY)VERIFY with comparative test functions
When these fail, we'll get more information in CI logs. Pick-to: 6.8 6.5 Task-number: QTBUG-118062 Task-number: QTBUG-123499 Change-Id: I90cdb466ca29bf955c45d3918be429e5d4d86d1b Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0acbcc1 - Browse repository at this point
Copy the full SHA 0acbcc1View commit details -
QtQml: Correctly call type getters on namespaces for AOT code
While this makes no difference in practice, it was technically undefined behavior before. You cannot call the object getter through the interface of the context getter. Amends commit 20d413a. Pick-to: 6.8 6.5 Change-Id: Iab15d4b05a18aa1997e1e0a45aa9df19adf283df Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Ulf Hermann committedOct 20, 2024 Configuration menu - View commit details
-
Copy full SHA for adc90d3 - Browse repository at this point
Copy the full SHA adc90d3View commit details -
QtQml: Rename all "Lookup *l" to "Lookup *lookup"
Codechecker complains about ambiguous 1-letter names, and especially 'l' vs 'I'. Change-Id: Ia32c2a8eb04956bb10e7e49e2085b724e8feb749 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Edward Welbourne <[email protected]>
Ulf Hermann committedOct 20, 2024 Configuration menu - View commit details
-
Copy full SHA for 5fddef9 - Browse repository at this point
Copy the full SHA 5fddef9View commit details -
QtQml: Explicitly byte-swap on big endian when building strings from CU
Commit 9ef4c123c39c642357c9e8530d59f32f220a7824 in qtbase made the implicit conversions to QChar through one of the integer types invalid. quint16_le can cast to quint16 (at a cost) but isn't quint16. Doing an explicit casting is required now. Change-Id: I88fdff5cee3898a3aadd15acd467ac2f3e3da79b Reviewed-by: Thiago Macieira <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c27f7cb - Browse repository at this point
Copy the full SHA c27f7cbView commit details -
QtQml: Make QQmlComponent drop its TypeData on the type loader thread
We must not delete a QQmlTypeData on the main thread since it interacts with data on the type loader thread. If the type loader thread is still alive, we have to drop any QQmlDataBlobs there. Otherwise the type loader thread may crash when accessing a dangling pointer. Pick-to: 6.8 6.5 6.2 Task-number: QTBUG-128269 Change-Id: If4cfbd40caef8cc8ac5d96f41dd08631170191c5 Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 20, 2024 Configuration menu - View commit details
-
Copy full SHA for 6396c5b - Browse repository at this point
Copy the full SHA 6396c5bView commit details -
QQmlProperty: Don't clear toplevel binding bit for value type bindings
If we remove a value type binding from a proxy binding, the proxy binding is still there. We must not clear the toplevel binding bit then. Amends commit c9d7620 Pick-to: 6.8 6.5 6.2 Fixes: QTBUG-130143 Change-Id: Ie4f1ba4a22a1e15eaa218fb8e72f78964ae8cf75 Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 20, 2024 Configuration menu - View commit details
-
Copy full SHA for cdcfed6 - Browse repository at this point
Copy the full SHA cdcfed6View commit details -
qmltyperegistrar: Populate base type name even if not resolvable
Downstream tooling may be able to locate the type in some other module. You can successfully build incompletely linked static libraries as long as the final dynamic binary contains all the dependencies, after all. Amends commit ad88383 which accidentally removed that feature. Pick-to: 6.8 Fixes: QTBUG-128820 Change-Id: I7c59837ade98a3e3b4005b071957380be7f96628 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 20, 2024 Configuration menu - View commit details
-
Copy full SHA for 543b75f - Browse repository at this point
Copy the full SHA 543b75fView commit details -
Disconnect from old document in QQuickTextControl
Now the text document can change in QQuickTextEdit, we cannot keep lingering connections to the old document. Pick-to: 6.8 Task-number: QTBUG-35688 Change-Id: I02ce1eaa561170a2f2bc5150368788df7b0f4769 Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for adde115 - Browse repository at this point
Copy the full SHA adde115View commit details
Commits on Oct 21, 2024
-
macOS: Don't trust canonical file path on non-case-preserving FS
APFS and HFS+ are both case preserving, in which case we can trust that the canonical file path reported above is correct. But if any of these file systems are mounted via SMB or Virtiofs (via Virtualization.framework) macOS will report that the canonical file name of "Foo" is "Foo", even if the underlying file on the host file system has a canonical name of "foo". This caused test failures when running tests on a VM with the build and source directories mounted from the host via Virtiofs or SMB, as we would pick up date.qml as if it was Date.qml, which ended up shadowing the built-in JS Date type. As we can't trust the canonical name in this case, we go though QDirIterator instead, as the directory listing for the mounted filesystem _does_ report the correct canonical file name. As a drive-by optimization we also treat QRC paths as being the correct file name, just like we do on Windows, as the QRC file system is case sensitive. Change-Id: Ic16c1685268afb893887719a0f012d01757e1052 Reviewed-by: Anton Kudryavtsev <[email protected]> Reviewed-by: Morten Johan Sørvig <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 11deb42 - Browse repository at this point
Copy the full SHA 11deb42View commit details -
Stabilize tst_PointHandler::tabletStylus()
- QQuickTest::showView() calls QCursor::setPos() (when possible) to move the mouse outside the window, so that PointHandler won't deactivate because of stray mouse events - call QWindowSystemInterface::handleTabletEvent() with an explicit timestamp to ensure valid velocity calculation during delivery of the second tablet event Fixes: QTBUG-129943 Change-Id: Ib89e92195dd7ab41e6409c95c77b291ae98848ea Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ee3bfd7 - Browse repository at this point
Copy the full SHA ee3bfd7View commit details -
Skip tst_QQuickTextEdit::mouseSelection() when the cursor doesn't move
The test function causes an accessibility popup on certain macOS versions. Skip it, if the cursor can't be moved. Remove blacklisting for macOS, but add for QNX. Fixes: QTBUG-129947 Pick-to: 6.8 Change-Id: I63a1277fd097794bdcebffecb71fdba563bb51c5 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c9ed68c - Browse repository at this point
Copy the full SHA c9ed68cView commit details -
How-to: Disable AUTOUIC explcitly in tst_how-to-cpp-gauge
uic shouldn't be necessary here and it can fail the cmake generation phase so just disable it. Amends baddb27 Change-Id: I140797d0d999e13e58c2c1bd3e4a385e101b98bf Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Alexey Edelev <[email protected]>
Olivier De Cannière committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for 7633fb1 - Browse repository at this point
Copy the full SHA 7633fb1View commit details -
Doc: import the Basic style in more customization examples
A follow-up of e4577eb. This ensures that the user won't inadvertently base the customizations on top of the native styles. Pick-to: 6.5 6.8 Change-Id: Ibfeebfdb5ddad377947481deeb8de46976109daa Reviewed-by: Richard Moe Gustavsen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c71e895 - Browse repository at this point
Copy the full SHA c71e895View commit details -
Doc: clarify the uses of the Templates types
Fixes: QTBUG-129850 Pick-to: 6.5 6.8 Change-Id: I4a88b19672479a452facb0f1ca62e4fbb1d50203 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6ce0dc4 - Browse repository at this point
Copy the full SHA 6ce0dc4View commit details -
Document delegateModel property of ComboBox
It was marked as internal but is necessary to implement a custom ComboBox, as demonstrated by the customization docs. Fixes: QTBUG-129759 Pick-to: 6.5 6.8 Change-Id: Ieb53a49a022a1d237738217fc88dda7a630d31d2 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9ed0422 - Browse repository at this point
Copy the full SHA 9ed0422View commit details -
Stabilize tst_qquickpixmapcache::slowDeviceInterrupted
Fixes: QTBUG-118064 Task-number: QTBUG-118691 Task-number: QTBUG-126090 Pick-to: 6.8 6.5 Change-Id: I39aeccb7e02d13e8cd717140622a4d42b5d0fb21 Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0a23056 - Browse repository at this point
Copy the full SHA 0a23056View commit details -
QtQml: Delete cached value type instances earlier on shutdown
They can hold all kinds of references, which might prevent compilation units from getting released before the QV4::ExecutionEngine is deleted. In that case, we miss the chance to remove the stale references from type registry. Task-number: QTBUG-129388 Change-Id: I6446eff85d666c7d57425f27bff3b254bb92e5ef Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for 7f58f05 - Browse repository at this point
Copy the full SHA 7f58f05View commit details -
QmlCompiler: Properly mark return types as such
They are not just global types. We can tell where they are from. Task-number: QTBUG-124670 Change-Id: I7ec7a5f186465aa5d4718d8289b325a38a59a89c Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for e64d5fa - Browse repository at this point
Copy the full SHA e64d5faView commit details -
Docs: Add minimal documentation for the Qml Profiler tool
Fixes: QTBUG-130095 Pick-to: 6.8 Change-Id: I4a98f84ed46ec2d9f246f6c7180bb8037ebfdd29 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3669883 - Browse repository at this point
Copy the full SHA 3669883View commit details -
qmltc: Wrap raw string literal in QStringLiteral
Without this, QT_NO_CAST_FROM_ASCII builds would fail. Amends 361b601 Pick-to: 6.8 Fixes: QTBUG-130081 Change-Id: Ifd5a4194a989953b7f0bc5f882b877eccb62cce8 Reviewed-by: Semih Yavuz <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Olivier De Cannière committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for 95b0397 - Browse repository at this point
Copy the full SHA 95b0397View commit details -
qmltc: Wrap raw string literal in QStringLiteral
This fixes build failures with QT_NO_CAST_FROM_ASCII. Pick-to: 6.8 Task-number: QTBUG-130081 Change-Id: I0c46005b9eda58cf6ab44ea4dd95043b8851af51 Reviewed-by: Ulf Hermann <[email protected]>
Olivier De Cannière committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for 37c525c - Browse repository at this point
Copy the full SHA 37c525cView commit details -
QQmlJSScope: Keep track of types specific to JavaScript
There is currently no reliable way to distinguish JS types from C++ and QML types. All the JS types should originate from the jsroot.qmltypes file. When generating this file by passing the --jsroot flag to qmltyperegistrar we can mark all the components as being "isJavaScriptType: true". All the QQmlJSScopes we then parse out of it will likewise have the JSType flag set. Change-Id: Ic4193d724edfb905d514337de7ea87f9b166bba0 Reviewed-by: Ulf Hermann <[email protected]>
Olivier De Cannière committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for 5789464 - Browse repository at this point
Copy the full SHA 5789464View commit details -
QQDA: fix assert when hovered items are removed during event processing
Instead of checking whether the previously captured ID has changed, look the ID up again after delivering the event. Only assert that it's zero if the item is still in the list in the first place. Amends d5cd8ac. The assert cannot be triggered reliably, so no test case is added here. Pick-to: 6.8 6.5 Fixes: QTBUG-130088 Change-Id: Ia77a32f859315e80453d7ea14559057dddc615e7 Reviewed-by: Richard Moe Gustavsen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4d52e30 - Browse repository at this point
Copy the full SHA 4d52e30View commit details -
QtQml: Keep property cache counts in sync with compiled object counts
In case of invalid overrides we still have to insert something into the property cache so that the number of members still matches between the property cache and the compiled object. Otherwise we confuse ourselves further down the line. Therefore, simply insert the overridden data again. Task-number: QTBUG-129388 Change-Id: Ida041d3b9c1cafcfba06dae4e9b3a9aed864296b Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for 5893b98 - Browse repository at this point
Copy the full SHA 5893b98View commit details -
Reduce usage of CompiledObject in QQmlVMEMetaObject
The CompiledObject may be gone when a belated metaCall() comes in. We can retrieve most of the necessary information from the property cache instead. The only thing we actually need the CompiledObject for is aliases. For those we can check the object for existence. Task-number: QTBUG-129388 Change-Id: If6cc77d0847751633ec7da183b520536b2a13fed Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for b248d28 - Browse repository at this point
Copy the full SHA b248d28View commit details -
QtQml: Faithfully preserve UNC paths when locating qmldirs
Paths can contain various interesting characters that need to be specially encoded in URLs. Therefore, when funneling the path through QUrl in order to normalize it, retrieve a path again in the end. Do not just stringify the URL. Amends commit e0400d0 Pick-to: 6.8 6.5 6.2 Fixes: QTBUG-129681 Change-Id: Ief49ce08acb3d346655abaf34278cf7c6afd107e Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for a24baed - Browse repository at this point
Copy the full SHA a24baedView commit details -
QtQml: Move value type getter to qv4lookup.cpp
We will need its declaration in qv4lookup_p.h. Change-Id: Ifc3742fdf7f6d5159d8afe02ceed07d5ad44fc22 Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 21, 2024 Configuration menu - View commit details
-
Copy full SHA for fee2e96 - Browse repository at this point
Copy the full SHA fee2e96View commit details -
Add Qt::Qml before Qt::QmlPrivate to auto tests
The build for auto tests for VxWorks fails because Qt::Qml is not added before Qt::QmlPrivate resulting in many unresolved symbols from Qt::Qml library. When Qt::Qml is added before it solves this problem. Task-number: QTBUG-129113 Change-Id: I89d553ac1d6706e2e934665fed2f308e6b01ed78 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9acb78d - Browse repository at this point
Copy the full SHA 9acb78dView commit details
Commits on Oct 22, 2024
-
Doc: improve FileDialog's detailed description
- Replace mention of deprecated currentFile(s) with selectedFile(s). - Mention currentFolder. Pick-to: 6.5 6.8 Change-Id: Ib7a414cba7a6f8e479159afc9ed50b014f93442c Reviewed-by: Oliver Eftevaag <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 200d38a - Browse repository at this point
Copy the full SHA 200d38aView commit details -
QtQml: Skip floodTypeLoaderEventQueue() test
It crashes on the CI. Change-Id: I6e9c14364e34d9934c0b75e6f5ddb5fd3034ec09 Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 22, 2024 Configuration menu - View commit details
-
Copy full SHA for 27e9544 - Browse repository at this point
Copy the full SHA 27e9544View commit details -
tst_qqmlpropertycache: Adjust to changed metaobject generation
Due to the changes to the meta-object data generation, we no longer can query the array size as we could before. Instead, compute the generated data again, and query the std::array's size. Change-Id: Icf8e60419ecf48146465016a578bb5be55b0ae69 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c92b677 - Browse repository at this point
Copy the full SHA c92b677View commit details -
Adjust QQmlPropertyCache::append to changed lifetime in QMM:name
Since 518fa1baf7bbc93b80567691d682ae64032fde76 in qtbase, QMetaMethod::name returns a QByteArray containing a copy of the data from the metaobject for dynamic meta-objects. This breaks append, which assumed that the pointer returned from the byte array would be fine even after the byte array is gone out of scope. Use the newly introduced nameView instead, which does return a view to the original data (which lives long enough). Task-number: QTBUG-129737 Change-Id: Icc9381a520e031f7095600ade23644efcbcee028 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bbcd2b7 - Browse repository at this point
Copy the full SHA bbcd2b7View commit details -
QQmlPropertyCache: conclude matching the meta object revision update
Change-Id: I8a96935cf6c742259c9dfffd17ea2bc4f44d80c6 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for db978cb - Browse repository at this point
Copy the full SHA db978cbView commit details -
Temporarily blacklist tst_QQuickTextEdit::mouseSelection everywhere
To get the submodule update going again. There seem to be multiple issuess, and a working solution has eluded us so far. Reopens: QTBUG-129947 Task-number: QTBUG-129947 Change-Id: I882d45ff7dcc2ba31bc5b3de3794c8345de8318b Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8c6511d - Browse repository at this point
Copy the full SHA 8c6511dView commit details -
Update dependencies on 'dev' in qt/qtdeclarative
Change-Id: I121fee53a0d4d7b87efcefec59ea32ce47cf6365 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt Submodule Update Bot committedOct 22, 2024 Configuration menu - View commit details
-
Copy full SHA for a4a9022 - Browse repository at this point
Copy the full SHA a4a9022View commit details
Commits on Oct 23, 2024
-
Defer polishAndSync animation advance to event loop if handling expose
If we are handling an expose event the system is expecting us to produce a frame that it can present on screen to the user. Advancing animations directly in polishAndSynct might result in changing properties of the window in a way that invalidates the current frame, for example the size of the window. This might result in the discarding of the current frame before the user ever sees it, either because the frame size is different than the window, so it's determined to be no longer valid, or because the system never gets a chance to present the frame because it starts another round of expose events. To give the system a chance to present the current frame we defer the advance of the animations until the start of the next event loop pass, which should still give plenty of time to compute the new render state before the next expose event or update request. We limit this approach for Apple operating systems for now, so that we can pick it to 6.8. It will possibly be extended to other platforms later on. As the window can go away while we wait for the next event loop pass, and even as part of advancing animations, we guard the window with a QPointer. Pick-to: 6.8 Fixes: QTBUG-129839 Change-Id: I32089599a8b6ba5c7177a92ff791f80e2812ffd8 Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d59c9d6 - Browse repository at this point
Copy the full SHA d59c9d6View commit details -
Add value type wrapper for QMargins/QMarginsF
Useful for exposing margins to QML. Pick-to: 6.8 Change-Id: Idf633d0659bb515c231e06e7a04b81508b7d7765 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a398101 - Browse repository at this point
Copy the full SHA a398101View commit details -
Gallery example: add colorScheme selection
Works with Fusion, iOS, and FluentWin3 styles. Should also work with macOS and ideally Basic, but those styles do not respect the global palette yet. So disable the row with the color scheme selection check boxes unless we know it works. The color scheme setting is not stored across sessions, and is instead applied "live". Task-number: QTBUG-124490 Change-Id: If6bec56884e6dc9093d541fc87800596aa1b9ca3 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Mitch Curtis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 22bc4a4 - Browse repository at this point
Copy the full SHA 22bc4a4View commit details -
QtQml: Fix potential null dereference in QQmlPropertyCache
We're not interested in any actual signals there, we just want to keep the counts intact. Amends commit 5893b98 Change-Id: Ie1087e5a9381592d4d3a24677e88887a50e3896f Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 23, 2024 Configuration menu - View commit details
-
Copy full SHA for dc9a646 - Browse repository at this point
Copy the full SHA dc9a646View commit details -
Continue scrolling Flickable past start or end of nested Flickable
You can continue scrolling the main list with the mouse wheel even after reaching the end of the nested list. When using a trackpad, behavior is now the same. Added tst_qquickflickable::nestedSameDirectionTrackpad. nestedSameDirection.qml or the example from QTBUG-126514 is suitable for manual testing. Since we add a custom QPointingDevice to simulate a trackpad, use it in nestedTrackpad() too, for better realism. Fixes: QTBUG-124478 Pick-to: 6.5 6.7 6.8 Change-Id: I9b9c9a41afcfa5d950093a31682013ae9e917f1a Reviewed-by: Oliver Eftevaag <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6d921e2 - Browse repository at this point
Copy the full SHA 6d921e2View commit details
Commits on Oct 24, 2024
-
qmlls: Fix crash on editing file
DocumentSymbols should work on the valid document. Also, we might get invalid file, so we should check the validity of qml dom file item before dereferencing it. This happens although we check the validity of a file in the language server module before processing the request. This is probably caused by a synchronization problem on editing the file and creating the dom for that file. This should be further investigated with QTBUG-121171. Change-Id: I4a2582210deb8da78ee1400a9f2f3c84b3ecbbae Reviewed-by: Sami Shalayel <[email protected]>
Semih Yavuz committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for a68c363 - Browse repository at this point
Copy the full SHA a68c363View commit details -
qmllsutils: support call expressions in resolveExpressionType
Add a new IdentifierType called "NotAnIdentifier" which is used by resolveExpressionType() for expressions, and use it when resolving the type of callexpressions. This fixes the recursive call of resolveExpressionType() when processing `Qt.point().x` for example, as it now returns something when resolving the left hand side `Qt.point()`. This allows completion to suggest stuff after `Qt.point().`. Pick-to: 6.8 Fixes: QTBUG-127776 Change-Id: I3cbee987c0677eb6d2b90fab44e982c49d0dd4fa Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f4e2177 - Browse repository at this point
Copy the full SHA f4e2177View commit details -
QQmlJSMetaProperty: add sourcelocation if defined in QML
Add sourcelocation to properties defined in QML, such that tools like qmllint have a valid sourcelocation they can issue warnings on. Fix the warnings: * "Cannot deduce type of alias", * "Cannot resolve alias" * "Alias is part of an alias cycle" to use the new sourcelocation. Also adapt the tests to the new sourcelocations. Fixes: QTBUG-128932 Pick-to: 6.8 Change-Id: Iec434324af1244c6952f0d5afc8a42f569a750e4 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b027c76 - Browse repository at this point
Copy the full SHA b027c76View commit details -
doc: fix link to qmlls known limitation section
Make the link to "Known Limitation" point to qmlls instead of the unrelated qmltc's documentation page. Pick-to: 6.8 Change-Id: I1714fd35c11922326bf6912a82eef8a2fedf9baf Reviewed-by: Leena Miettinen <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 340bbe5 - Browse repository at this point
Copy the full SHA 340bbe5View commit details -
...in preparation of trimming down includes in QQuickItem. As a drive-by, remove the superfluous qqml.h include from quick/items/qquicktextutil_p.h. Change-Id: I7ee0f459bcbfdfe07314d1f63433aaa8639870ac Reviewed-by: Richard Moe Gustavsen <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 82971e7 - Browse repository at this point
Copy the full SHA 82971e7View commit details -
CustomParser: Fix enum handling
If we have an import namespace, QQmlTypeNameCache::isValid will always return true; what we want to check instead is whether the type is valid, or whether we need to query the namespace. Amends a363aa3. Pick-to: 6.5 6.8 Fixes: QTBUG-118879 Change-Id: Iaa9db015979c9454662c6fbcd691dbfb03a3d053 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cfd7198 - Browse repository at this point
Copy the full SHA cfd7198View commit details -
CMake: Qml plugins should inherit the STATIC-ness of their module
Otherwise in a shared build, a qml module marked as STATIC will produce a static backing library and a dynamic qml plugin, which is not something one usually expects, and can also lead to duplicate symbol issues. One such case was the QmlAssetDownloader qml module, which for a macOS build ended up installing a libQt6QmlAssetDownloader.a together with a libqmlassetdownloaderplugin.dylib , where the latter should have also been a static library. Pick-to: 6.8 Change-Id: If5e5c941cde49e7f2050b6a28b9db207dcddf771 Reviewed-by: Alexey Edelev <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5266fc8 - Browse repository at this point
Copy the full SHA 5266fc8View commit details -
QtQml: Call lookups based on enums rather than via function pointers
While the C++ standard says that different functions need to have unique addresses, some compilers have take substantial liberties with that rule. This means we can't actually rely on the addresses of our different lookup functions to differ and therefore we cannot use them as discriminator. Introduce an enumeration for all the different lookups and use that instead. Now we can also drop all the purely redirecting methods we've introduced just to have different addresses. Change-Id: Ifa68c27c0d2fef4084893a19227dab21bd948dfd Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 72bf928 - Browse repository at this point
Copy the full SHA 72bf928View commit details -
QtQml: Phrase "AsVariant" lookups with a separate flag
Duplicating all the lookup enum values is quite messy. The extra flag has the added benefit that the lookup functions themselves will not touch it. Change-Id: I9c2d4202c30a996f226b5762b6a6528bf4328f52 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for abee70a - Browse repository at this point
Copy the full SHA abee70aView commit details -
QmlCompiler: Untangle various list operations
We never need global types for those. The size of a list is a property of that list, for list values we have a separate content variant, as well as for list iterators. In order to determine whether something is a list, we can query the type itself directly. Task-number: QTBUG-124670 Change-Id: I7a81571b42cd0ec3662a4362c6caf98b22c9ebb1 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 1c0c945 - Browse repository at this point
Copy the full SHA 1c0c945View commit details -
QmlCompiler: Make the ScopeObject content variant more useful
We can use it for JavaScript local and global scopes, too. To this end, check for the actual QML scope object where we want that one. Task-number: QTBUG-124670 Change-Id: I908a4f122a83d6685129cb24959353a1169faae0 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for c2b0cc0 - Browse repository at this point
Copy the full SHA c2b0cc0View commit details -
QmlCompiler: Make the ParentScope content variant more useful
It doesn't have to be JavaScript-specific. QML scopes also have parent scopes that, in theory, we can retrieve and use. (we don't, for a reason, but that reason doesn't have to be part of the name) A scoped value is generally regarded as a "Property" of the scope, and we can extend this meaning to JavaScript function or lexical scopes. This makes the JavaScriptObject content variant obsolete. Task-number: QTBUG-124670 Change-Id: I728f066461c000a0f2391f8604bd38853806adc0 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for bb0aa09 - Browse repository at this point
Copy the full SHA bb0aa09View commit details -
QmlCompiler: Model JS locals as properties of nothing (for now)
We don't track JavaScript scopes. Therefore we don't know what scope the local would be a property of. However, we do know that we know nothing about the type. Therefore we can say it's QJSValue. And we do know that it's supposed to be a property. Task-number: QTBUG-124670 Change-Id: Ic0656054aa9c685831eb993f990caeda90b878a7 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for e1c660d - Browse repository at this point
Copy the full SHA e1c660dView commit details -
QmlCompiler: Untangle the global object
There is only one actual JavaScript global object. That one has properties and it does not need its own content variant. Task-number: QTBUG-124670 Change-Id: I3d49a0f9d66530b83fa7851c23019c703bf18bc2 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 960ab0b - Browse repository at this point
Copy the full SHA 960ab0bView commit details -
QmlCompiler: Remove builtin and global types
We don't need them anymore since we have better representations for all their uses now. Adjust two occurrences that were forgotten in earlier changes. Task-number: QTBUG-124670 Change-Id: I151486cea383f90f64cce9c3e655f3a014eccd9c Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 6276d0d - Browse repository at this point
Copy the full SHA 6276d0dView commit details -
Examples: Make qquickwidgetvswindow depend on QtQuick
It uses QtQuick types in C++. For that to transpire to QML tooling we need to declare a dependency. Pick-to: 6.8 Change-Id: Icede50c638428062f392351ba590cf0f8f2740ee Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 40a9651 - Browse repository at this point
Copy the full SHA 40a9651View commit details -
tst_qmlcppcodegen: Prevent crashes on failure
You can QCOMPARE a QString to a unicode literal, but if the comparison fails, it cannot print the result. Change-Id: Iceea7074ecb893bc0c514d3b872e33b786edac84 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 46795bc - Browse repository at this point
Copy the full SHA 46795bcView commit details -
Avoid QQuickWindowImpl space leak
The reader for the `screen` property of `QQuickWindowImpl::screen` always creates a new `QQuickScreenInfo` instance to wrap the required information about the current screen that the window sits on. For example, in the following code: ``` import QtQuick import QtQuick.Window Window { Component.onCompleted: { screen; screen; } } ``` The reader function will be called twice and two instances of `QQuickScreenInfo` will be created and parented to the window. To avoid creating a new instance for every read of the property and to avoid cluttering the object tree of the window, ensure that `QQuickWindowQmlImpl::screen` stops creating a new instance on each call, instead re-using a previously created instance when available. To ensure that the `QQuickScreenInfo` instance that is used for the `screen` property has up-to-date information on the screen, ensure that the `QQuickScreenInfo` instance that is held by a window is recreated after a screen change, by deleting a previously created instance on a `screenChanged` signal. Add some test-cases to `tst_qquickwindow` to ensure that multiple reads of the `screen` property do not clutter the object tree and a change of screen invalidates the `QQuickScreenInfo` instance that the window holds after a read. Add an additional test case to ensure that bindings are correctly updated after a change of screen and the deletion of a screen info instance. To correctly perform such a test we need to have two screens available in the test environment. To ensure that this is the case we use the `offscreen` plugin, which allows a customization of the available screens through its configuration. As we need to create a custom QApplication with a specific platform plugin and a specific configuration, considering that the current `tst_qquickwindow` already provides an implicit application to its tests, a new test suite "tst_qquickwindow_appless" was added to support the case of constructing the configured application. Fixes: QTBUG-104404 Fixes: QTBUG-127065 Change-Id: I7e48fe66a7133d3d26f15b097ca77137cfb2728a Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d978f34 - Browse repository at this point
Copy the full SHA d978f34View commit details -
QtQml: Universally use QQmlRefPointer for QQmlDataBlob
We don't want to manually addref() and release() them. That's dangerous. Change-Id: I708394e41ed62f00dd1e3878c3f8e20706a0898e Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 210288c - Browse repository at this point
Copy the full SHA 210288cView commit details -
qmllint: Use scope object for "this", not only QObject
Pick-to: 6.8 Fixes: QTBUG-128805 Change-Id: I8272ef93cfa261f1457b96a8d2be5c3e73d73b7b Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 8e3547f - Browse repository at this point
Copy the full SHA 8e3547fView commit details -
QtQml: Unify detaching behavior for all reference objects
All reference objects should be detached when written to a property of a QML-defined type. This is in line with what happens if you write the same object to a property of a C++-defined type and doing anything else makes very little sense. In particular, before this change, the behavior differed between ahead-of-time compiled code and interpreted code, between writing to "var" properties and writing to typed properties, and between different kinds of lists. Now everything we recognize as reference object always gets detached when writing to a property. [ChangeLog][QtQml][Important Behavior Changes] Writing a list or value type to a QML-declared property now always detaches this same list or value from any locals or other properties you may have read it from. Therefore, subsequent changes to its "source" will not affect it anymore. This is in line with what we do to C++-declared properties. Fixes: QTBUG-127957 Change-Id: Icdf188ef29d28e5d3aaa8219cc003e07e8813f38 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 35630ee - Browse repository at this point
Copy the full SHA 35630eeView commit details -
QtQml: Remove base CU when clearing executable CU
This allows the base CU to be released while there may still be objects around that reference the executable CU. Since the JS engine is gone, the CU is not useful for much anymore anyway. Since we don't want to check for the presence of a base CU in every method, we replace the base CU with a static null value. Fixes: QTBUG-129388 Change-Id: I84f8410fa8652203ac7c39f88a6d5aa05420ab11 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 336f86d - Browse repository at this point
Copy the full SHA 336f86dView commit details -
masm: On canAllocateExecutableMemory(), test for actual usage pattern
We want memfd-backed memory that we first write and then make executable using mprotect. This may be prohibited even if we can get a simple anonymous read/write/execute page. Pick-to: 6.8 Fixes: QTBUG-122102 Change-Id: Ic794a034d211a3a6518c823186f9953967b52ad0 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 24, 2024 Configuration menu - View commit details
-
Copy full SHA for c4d3c0c - Browse repository at this point
Copy the full SHA c4d3c0cView commit details
Commits on Oct 25, 2024
-
QQuickItemView: fix crash with zero-size SwipeView that uses Repeater
When running the minimal example from the bug report, the order of events is: 1. deletables are iterated in QQuickRepeater::clear(), and deleteLater is called on the delegate item. 2. deletables are unparented. This causes Container (SwipeView) to be notified of the parent change and it removes the item. Part of this involves changing the currentIndex, since the removed item was current. 3. SwipeView's contentItem (ListView) has its currentIndex bound to the container's, so QQuickItemView::setCurrentIndex is called. 4. setCurrentIndex calls updateCurrent, which detects that the currentIndex (which is -1, because there was only one item) is out of range and so releases the item. This causes it to be added to unrequestedItems, even though it has been scheduled for deletion. This patch makes QQuickItemView detect that the item is going to be deleted and not add it to the list of deletables. Fixes: QTBUG-129622 Pick-to: 6.5 6.8 Change-Id: I999aedbdfafc61ff6d33eb6579331f470e9c1454 Reviewed-by: Richard Moe Gustavsen <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 18a6a65 - Browse repository at this point
Copy the full SHA 18a6a65View commit details -
Doc: add more internal documentation for deferred execution
This gives background information and a brief summary of why deferred execution exists. Pick-to: 6.5 6.8 Change-Id: I991d9ffd175d781d286f855404b767d652fa6c84 Reviewed-by: Richard Moe Gustavsen <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 66008a3 - Browse repository at this point
Copy the full SHA 66008a3View commit details -
QQuickAccessibleAttached: Let implicit names work when there's a proxy
QQuickAccessibleAttached has infrastructure to provide an implicit name that we were bypassing now that we have proxies (introduced in 6.8). We should only use the name of the proxy when it's being set, otherwise we better provide the implicit name. Amends 7bdeea2. Fixes: QTBUG-130360 Pick-to: 6.8 Change-Id: I37470e1f28e837bdbb304726ee85f45ba6577621 Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1bb076b - Browse repository at this point
Copy the full SHA 1bb076bView commit details -
CMake: Use module target as unique id for module aotstats
Using the uri in qml module aotstats files causes issues in projects that define multiple qml module targets with the same URI, specifically when configuring with Xcode. Notably not all of the modules will be linked into the same executable, so it's a valid use case. Use the target name for the aotstats file name, it is unique within a project, as opposed to the uri. Amends 8f170ec Amends f288926 Pick-to: 6.8 Fixes: QTBUG-130511 Task-number: QTBUG-124667 Task-number: QTBUG-125995 Change-Id: I56746be7b4434764eb0299b09d3f71292522526b Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d18f6d6 - Browse repository at this point
Copy the full SHA d18f6d6View commit details -
qmlls: highlight signal/propertyChanged handlers as bindings
They were initially highlighted as Methods. However, because they are handlers and has reactive nature, they should be mapped to Bindings. QtC highlights them as Bindings, too. Pick-to: 6.8 Change-Id: Ia35c75628c2b65d1cc73005957177222f2906a2e Reviewed-by: Sami Shalayel <[email protected]>
Semih Yavuz committedOct 25, 2024 Configuration menu - View commit details
-
Copy full SHA for b5684d1 - Browse repository at this point
Copy the full SHA b5684d1View commit details -
QmlCompiler: Make loadGlobalLookup work like other lookups
Cache the metatype in the lookup rather than re-calculating it in every call. Change-Id: I5fde45a05a3d515466d9cf360bf51d7a8c9cb816 Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 25, 2024 Configuration menu - View commit details
-
Copy full SHA for 3a3c72c - Browse repository at this point
Copy the full SHA 3a3c72cView commit details -
QQuickMenu: dissolve QQmlV4Function version of Menu::open
This is done by explicitly spelling out the whole overload set accessible from QML. The documentation is not adjusted so far. The C++ only popup method taking a single item as the menu and which does not set a parent has been moved to QQuickMenuPrivate. Some tests that were calling it have been adjusted to the new zero-arguments overload of QQuickMenu::popup instead. This is safe, as they behave identically when no item is provided/nullptr is passed. The special handling of passing "undefined" as the parent has been removed. [ChangeLog][Important Behavior Change][Menu] The undocumented behavior of resetting a menu's parent item when explicitly passing undefined as the parent to Menu's open method has been removed; instead, a type error is now thrown. Fixes: QTBUG-116586 Change-Id: I80fa9fb22c95baafaea053e0a0536ca669388cfb Reviewed-by: Mitch Curtis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0675615 - Browse repository at this point
Copy the full SHA 0675615View commit details -
Close popup windows on outside mouse press and release
Popups are expected to automatically close, when the user clicks outside of them. Clicking on a different window should close the popup window, regardless of whether that window is owned by the same application or not. In qt widgets, we use QWindow::setMouseGrabEnabled(true) and QWindow::setKeyboardGrabEnabled(true), to receive and act upon these mouse events, that would otherwise be sent to different applications. While this approach doesn't work on every single platform, it should work Windows, macOS and Linux/xcb, which are the most important ones. Closing popups in Wayland unfortunately can't be done in the same manner. The solution here was to close all popups on the ApplicationDeactivate signal (914c2ef4fb926c16e8874c9c3691401f7e22ae22). In qt quick, we have the closePolicy property, which we should honor to some degree. QWindow::setMouseGrabEnabled(true), gives us the flexibility needed to do that, and we can do the grabbing in QQuickPopupWindowPrivate::setVisible(), instead of static Q*Application functions which is the pattern used by widgets. Since we're already forwarding mouse and keyboard events to the active popup window, we'll need to close popups in cases when the user presses or releases the mouse outside of the popup window. The filterPopupSpecialCases() function already handles some special cases when the popup window is used by a menu. Instead of reimplementing the mousePressEvent and mouseReleaseEvent functions in QQuickPopupWindow, I instead made the decision to extend the functionality of filterPopupSpecialCases to handle cases for closing all sorts of popups when the mouse is pressed or released outside, instead of just limiting this functionality to menus. Note that instead of closing all popups, when clicking outside, we're only closing the current active popup window. This is consistent with qt widgets. Strangely however, the popup order functions in a FIFO manner, where the first opened popup is the active popup, and not the last. This means that popups are not ordered in a stack, but rather a queue. In cases when the closePolicy is CloseOnEscape, we don't have to do anything, since escape key handling is already taken care of, by the forwarding logic. Pick-to: 6.8 Change-Id: Icc1cfcf1526108e1bf7be90bac608fb094aa8f7b Reviewed-by: Richard Moe Gustavsen <[email protected]>
Oliver Eftevaag committedOct 25, 2024 Configuration menu - View commit details
-
Copy full SHA for 459f1e4 - Browse repository at this point
Copy the full SHA 459f1e4View commit details -
qmllint: load plugin categories before parsing arguments
Make sure to load categories from plugins before writing the settings file, parsing qmllints commandline arguments or before writing out the help text, so that the plugin-dependent categories are also present there. This allows to: * print plugin categories into the --help text * write default values for plugins on --write-defaults * remove buggy warning about plugin categories not existing when passing them by commandline Pick-to: 6.8 Fixes: QTBUG-130358 Change-Id: I282059c78a0379e611914a2df78bb1d3540692c0 Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 27ee3aa - Browse repository at this point
Copy the full SHA 27ee3aaView commit details
Commits on Oct 26, 2024
-
PinchHandler: Set target properties only if respective axis enabled
If the user has disabled the rotation or scale axis, the target item's rotation or scale property must not be set at all, to avoid breaking bindings that were set differently. Fixes: QTBUG-130517 Pick-to: 6.8 6.5 Change-Id: I8f84f6845532f748bbdcc3af91a398d6659156ca Reviewed-by: Richard Moe Gustavsen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 49fbf2f - Browse repository at this point
Copy the full SHA 49fbf2fView commit details
Commits on Oct 27, 2024
-
Fix double-triggering of actions via the accessibility interface
7bdeea2 introduced proxying for actions, for a11y interactions however this now results in double-triggering, ie. the action triggers on the a11y press action, and the outside item triggers its action in that case. Instead, only pass the a11y action to the item if its proxyed action didn't handle it yet. Pick-to: 6.8 Change-Id: I81af95dac0e5663def2afae700f49c50cb34f9b9 Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5858116 - Browse repository at this point
Copy the full SHA 5858116View commit details
Commits on Oct 28, 2024
-
The svg manual test uses either QWidget or QSvgWidget. When used with QWidget, the renderer repaintNeeded signal should be connected to update to render an svg file with animations correctly. Change-Id: Ia9c14b8dd329315bd28d4e882f4305530a3994bb Reviewed-by: Eirik Aavitsland <[email protected]>
Hatem ElKharashy committedOct 28, 2024 Configuration menu - View commit details
-
Copy full SHA for c7dc9db - Browse repository at this point
Copy the full SHA c7dc9dbView commit details -
CMake: Make Qml look for qmlsc rather than Qt6QmlCompilerPlusPrivate
When qmlsc is installed, the Qml package tries to look for it by loading the Qt6QmlCompilerPlusPrivate package. But in addition to creating the qmlsc imported target, that package also creates a static QmlCompilerPlusPrivate library, which in turns has dependencies on other static libraries like QmlCompiler and QmlToolingSettings. In a user project, Qml has no reason to look for those libraries, it's only interested in the qmlsc tool. This change modifies the find_package call to look for the Qt6QmlCompilerPlusPrivateTools package instead, which brings in the qmlsc tool, and doesn't have any other dependencies on other library packages. It also restores a previous attempt of properly handling cross-compilation, where we need to look in the host path when it is set. This is similar to the code we have in qtdeclarative/src/CMakeLists.txt. This shouldn't cause the previous issue that led to the revert, because we don't look for the library packages anymore, only the tool package, so it's safe to manipulate the CMAKE_PREFIX_PATH and friends. Reverts 090f07a Adjusts 80cb409 Pick-to: 6.8 Fixes: QTBUG-130534 Task-number: QTBUG-105488 Change-Id: Ie6530f642441db0a61687318a7426a82f4c512d3 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b0f1ec4 - Browse repository at this point
Copy the full SHA b0f1ec4View commit details -
QQmlJSScope: add isRootFileComponent flag
Add a flag to tell whether the QQmlJSScope is the root QML scope. This can be then used in user-written QQmlSA passes to apply special checks on root items, which is needed in the QDS warnings for .ui.qml file, for example. Task-number: QTBUG-129308 Change-Id: Ie67294b0ee2b813da3a80a0bd8002ebae618ee1c Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 31fbe8a - Browse repository at this point
Copy the full SHA 31fbe8aView commit details -
Add missing const refs in QQmlSA private methods
Add missing const& when passing strings and sourcelocations in QQmlSA private methods. Task-number: QTBUG-126798 Change-Id: I5c5a556922dc73e859f666e1bac914899f2034fa Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9e65c4b - Browse repository at this point
Copy the full SHA 9e65c4bView commit details -
QQmlSA: add onCall method to PropertyPass
Allow PropertyPass to check calls on properties by adding a new onCall virtual method. It is called whenever a property is being called, by using QQmlJSTypeProgator::propagateCall() and generate_callProperty(). Do not change the behavior of onRead that was also checking calls: instead, override onCall() if you are only interested about function calls. Document the current limitations of onCall. Fixes: QTBUG-126798 Change-Id: I261796bdaedaef6074a4ff8d4e5f547157e9ea19 Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 59f3dad - Browse repository at this point
Copy the full SHA 59f3dadView commit details -
QQmlSA: do analyzeCall on translation bindings too
Call analyzeCall also on translation bindings occurring either in translation bindings or inside of script expressions. Current limitations of QQmlJSMetaPropertyBinding means that we can't differentiate between qsTranslate and qsTr calls in translation bindings. Also, there is no need (for now) to distinguish both. Fixes: QTBUG-126798 Change-Id: If7d3d0df36b5aa4baf51d2c33225e6b034d465f1 Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f33e26d - Browse repository at this point
Copy the full SHA f33e26dView commit details -
qqmljslinter: only search files for plugins
Add a flag to the QDirIterator as only files can be loaded as plugins. Discovered while debugging as this iterates also over "." and ".." without the flag. Change-Id: Ia1070b40541b8c769a457143978576b05c84e2bf Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 42856ea - Browse repository at this point
Copy the full SHA 42856eaView commit details -
Fix MultiEffect shadow opacity
MultiEffect shadow coloring was fixed in QTBUG-123396. Unfortunately that caused shadow opacity to be taken into account twice. First in multiplication and second in mix which takes shadowColor including the alpha. Instead, remove multiplication and make the shadowColor to have premultiplied alpha. Task-number: QTBUG-130582 Pick-to: 6.8 Change-Id: I14c95ef13009dada5f1125d98c019e9c5d7f8245 Reviewed-by: Tomi Korpipää <[email protected]>
Kaj Grönholm committedOct 28, 2024 Configuration menu - View commit details
-
Copy full SHA for 711bb5a - Browse repository at this point
Copy the full SHA 711bb5aView commit details
Commits on Oct 29, 2024
-
Doc:Update ListView Documentation of the property count
The count property in ListView reflects the total number of items in the model.Add addtional clarification to ListView::count. Pick-to: 6.8 Fixes: QTBUG-120082 Change-Id: I20c4de57cc4f114b56db5adb36f34f5dc133bde9 Reviewed-by: Axel Spoerl <[email protected]> Reviewed-by: Paul Wicking <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fb3580a - Browse repository at this point
Copy the full SHA fb3580aView commit details -
Android: Add documentation for multiple QtQuickViews in one host app
Since this is now properly supported in 6.9 and 6.8.1+, we should make that clear. Pick-to: 6.8 Task-number: QTBUG-129792 Change-Id: Ib2b83bfc378ca3c6414853d718f2cc181052d9df Reviewed-by: Assam Boudjelthia <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 385e502 - Browse repository at this point
Copy the full SHA 385e502View commit details -
Add REUSE.toml files and missing licenses
REUSE.toml files are read by reuse to complement or override the copyright and licensing information found in file. The use of REUSE.toml files was introduced in REUSE version 3.1.0a1. This reuse version is compatible with reuse specification version 3.2 [1]. With this commit's files, * The SPDX document generated by reuse spdx conforms to SPDX 2.3, * The reuse lint command reports that the Qt project is reuse compliant. In order to be reuse compliant all the licenses referenced in file or within a REUSE.toml files must be present in the LICENSES directory at the base of the module. The missing licenses are added. [1]: https://reuse.software/spec-3.2/ Task-number: QTBUG-124453 Task-number: QTBUG-125211 Change-Id: I5a83879a7fee1bba046b2c53d9727dc0cde05c25 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 49eacf9 - Browse repository at this point
Copy the full SHA 49eacf9View commit details -
qmllint: allow plugins to set default category level
Add a defaultLevel value to the .json file shipped with the plugins that allow plugins to set the default level of their categories. Change-Id: I4a13366ce705ba104414b41e729d12769ab83821 Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 282add1 - Browse repository at this point
Copy the full SHA 282add1View commit details -
Return window title for QAccessible::Name only
QAccessibleQuickWindow::text() was returning the window title for all QAccessible::Text enum values, including QAccessible::Accelerator. This caused Windows Narrator to read the window title twice: once for Name and once for Accelerator. Fix this by returning the window title for QAccessible::Name only. Fixes: QTBUG-119530 Pick-to: 6.8 6.5 5.15 Change-Id: I3c51056670281158ef65dfebc83abe293bb20dd9 Reviewed-by: Jan Arve Sæther <[email protected]>
Morten Sørvig committedOct 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 6ee7100 - Browse repository at this point
Copy the full SHA 6ee7100View commit details -
Don't block press and release events for non-popup children of overlay
When trying to position items above an active popup, users will typically have to reparent those items to the overlay. But doing so, can break input handling when using modal popups. Since childMouseEventFilter will cause the overlay to filter events, sent to it's children, and modal popups assumes it's unsafe to not block those events if the target item doesn't belong to itself. It appears the assumption is that only popup items (and dimmers) will be parented to the overlay, but in reality, any item can, by assigning the parent to be `Overlay.overlay`. If the item is rendered above a modal popup, then maybe that popup shouldn't filter the event, similar to the exception it makes for its own child items. Pick-to: 6.8 6.5 Task-number: QTBUG-129520 Fixes: QTBUG-130331 Change-Id: Id7b69570eb6598d1ef030e0b7230489046444e45 Reviewed-by: Mitch Curtis <[email protected]>
Oliver Eftevaag committedOct 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 01de987 - Browse repository at this point
Copy the full SHA 01de987View commit details
Commits on Oct 30, 2024
-
Avoid warning in QQuickPixmap::load: avoid having imageSourceSize 0 x 0
An invalid QSize (AKA a default-constructed QSize) is -1 x -1. That's what QQuickPixmap::load() expects in requestSize whenever the image comes from an itemgrabber:// URL (since d0649a1). But when a DnD image is supplied by calling grabToImage(), the result is 0 x 0 until loading is done. We have to avoid passing that on to QQuickPixmap::load(). Amends 0290e0f Fixes: QTBUG-130620 Pick-to: 6.8 Change-Id: I9b8ea6eb7973b3f5ee6358d09810cb8f84559306 Reviewed-by: Axel Spoerl <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 314bdef - Browse repository at this point
Copy the full SHA 314bdefView commit details -
Update dependencies on 'dev' in qt/qtdeclarative
Change-Id: Ie7d6860a73099cb229c39bddb745b92e019c70b4 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt Submodule Update Bot committedOct 30, 2024 Configuration menu - View commit details
-
Copy full SHA for 5d02d92 - Browse repository at this point
Copy the full SHA 5d02d92View commit details -
Fix compilation against updated Qt Svg module
Some enums have been replaced. Change-Id: I75f4830a847f1838adba4669751e15ff238094cf Reviewed-by: Hatem ElKharashy <[email protected]> Reviewed-by: Juha Vuolle <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bd50c6b - Browse repository at this point
Copy the full SHA bd50c6bView commit details -
tst_QQmlDebugTranslationService: Adjust to qtbase uiLanguages change
84afaafc9c6968dd76fcadc5392065d340543521 from qtbase added truncated entries to QLocale::uiLanguages, so now those also appear in the list returned by getTranslationIssues. Adjust the test accordingly. Fixes: QTBUG-130681 Change-Id: I0c22f9c5adc77faa5e381d3423cfb11f59a81d3b Reviewed-by: Volker Hilsheimer <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a4bbadc - Browse repository at this point
Copy the full SHA a4bbadcView commit details -
QuickTest: write test exit code for androidtestrunner
Write the exit code for quick tests at the end of the test run where it would be available to androidtestrunner to find out the exact number of failed tests. Complements 8d4022187b660de6c81c09ea7a4864048aa94978. Fixes: QTBUG-129976 Pick-to: 6.8 Change-Id: I6315c24897632421dbbc2a0250c77782f13c406d Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 116ec82 - Browse repository at this point
Copy the full SHA 116ec82View commit details
Commits on Oct 31, 2024
-
QQuickScreenInfo: make sure we handle the wrapped screen changes
QQuickScreenInfo is created every time we access the Window's `screen` property. See QQuickWindowQmlImpl::screen(). However, it didn't handle any changes to the screen passed to the constructor. Therefore, any bindings to the internal properties of the Window's screen didn't work correctly either. Fix this by calling setWrappedScreen() directly from the constructor to ensure that we handle all changes to the wrapped platform's screen. Fixes: QTBUG-130689 Pick-to: 6.8 6.5 Change-Id: I92337169c12c2c294ee00af45f3885f53b5e6588 Reviewed-by: Tor Arne Vestbø <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 00f58f2 - Browse repository at this point
Copy the full SHA 00f58f2View commit details -
QmlCompiler: Rename QQmlJSLogger's fileName to filePath
This is done in prepartion for the following patch in the chain. Pick-to: 6.8 Change-Id: If8ce75be8ba00e7e4cdd5a0f5e66319ab0d36755 Reviewed-by: Sami Shalayel <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Olivier De Cannière committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for 660fc8f - Browse repository at this point
Copy the full SHA 660fc8fView commit details -
Compiler: Make qqmljsscope::filePath hold the source location more often
Previously, it would hold the location of the copy in the build directory or in the resource file system. This should improve the accuracy of the information that we can report back. For example, the file location of files reported in aotstats will now be those in the source folder. The changes necessary for this patch were found through trial and error by asserting that the filePath respect a certain form and fixing what I could. There remain cases where the filePath still contains a location in the build directory. We would need some other change to report those accurately as well. Finally, sometimes the filePath is empty or does not contain a valid path at all but instead what seems to be the location of an included file. It can have the form "private/..._p.h" for example. Pick-to: 6.8 Change-Id: I77a2596f6c4a179580d924a6e9324e43dbb86c0c Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Olivier De Cannière committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for ee5c015 - Browse repository at this point
Copy the full SHA ee5c015View commit details -
SpinBox: Only call fixup on content change in live mode
We shouldn't call fixup on intermediate or valid results while the user is editing; at least not if the live proverty is false, as there's no need to always have the latest value available. Unconditionally calling fixup means that it is no longer possible to have a temporarily invalid input. We could check whether the state is Invalid (as opposed to Intermediate), and only call fixup then, but even that is probably unnecessary overhead. Especially given that completely invalid input (e.g. a letter when a number is expected) is still blocked anyway, as this already happens via TextInput's validator. The expectation is that a style properly shares the validator between the SpinBox and its TextInput, like Qt's own style do. The behavior stays the same as it was before when "live" is set to true. The behavior in that case is basically as if one would press Enter after every change. Amends ce85cb1 Fixes: QTBUG-129939 Pick-to: 6.8 Change-Id: I583b472486ca3a5e8109d73a9e5c9947016aec98 Reviewed-by: Oliver Eftevaag <[email protected]> Reviewed-by: Mitch Curtis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 61aae86 - Browse repository at this point
Copy the full SHA 61aae86View commit details -
dom: don't crash on lambdas inside of script blocks
Treat script blocks like potential methods, such that a lambda inside a script block is recognized to be a lambda instead of a QML object method. This fixes a crash where a scriptbinding was bound to lambda. Pick-to: 6.8 Fixes: QTBUG-130349 Change-Id: Id38f36115b90feb1feb07971eaa8c6b47295850c Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Semih Yavuz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f88e649 - Browse repository at this point
Copy the full SHA f88e649View commit details -
qqmljssourcelocation: fix wrong asserts on 32 bit systems
Replace the asserts comparing 0-based offsets and 1-based columns and lines: the first character of a file has offset 0 but line and column 1, so the current assert is always false. Also, the assert tests an assumption which does not hold: for example the DOM formatting code works with "local" sourcelocation that has "local" offsets but global line and column number. Instead, use a more relaxed check and make sure that line and column are in-bounds. Also, the members of SourceLocation are not protected with setters, so anyone can write anything there anyway. Amends 4baa3b7 that introduced the assert and expected the CI to complain on them. Change-Id: I330b9542e1b123bc3df401414d1c9a22504ba01b Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e169034 - Browse repository at this point
Copy the full SHA e169034View commit details -
Drawer: simplify logic in handlePress
Align with the implementation in QQuickMenu. Pick-to: 6.8 Task-number: QTBUG-130536 Change-Id: If1f7d2fea70cb92e20e27715e047990ac31e3c4f Reviewed-by: Santhosh Kumar <[email protected]> Reviewed-by: Dilek Akcay <[email protected]> Reviewed-by: Oliver Eftevaag <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9d3488b - Browse repository at this point
Copy the full SHA 9d3488bView commit details -
QML Previewer Example: add QQuickWidget
Add QQuickWidget to display the list of errors. Previously, a QListView was used for this purpose. Introduce ErrorListView.qml file, which includes a ListView using the ErrorListModel. Pick-to: 6.8 Change-Id: I221b347e14305338219f5d8e8d2994497a0f20f5 Reviewed-by: Oliver Eftevaag <[email protected]>
MohammadHossein Qanbari committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for 6b75bc1 - Browse repository at this point
Copy the full SHA 6b75bc1View commit details -
QtQml: Only pass matching arguments to value type constructors
Only if the type is really the same we can pass it directly. Types like QVariant or QJSValue are exact matches in the sense that you can wrap everything else into them, but that's not what we mean here. Pick-to: 6.8 Task-number: QTBUG-130522 Change-Id: I5c71ab3a722ab0cff7373106f5b3530f73292ba3 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for 373cf5e - Browse repository at this point
Copy the full SHA 373cf5eView commit details -
QtQml: Support conversion to QJSValue when constructing value types
Anything can be converted to QJSValue, but QMetaType::convert cannot perform the conversion. Pick-to: 6.8 Fixes: QTBUG-130522 Change-Id: I5614db21a0fcc0afa4a605cbd28ea92788aa146d Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for d61c0ce - Browse repository at this point
Copy the full SHA d61c0ceView commit details -
This adds support for the color animations currently supported in Qt Svg, for parity. Task-number: QTBUG-127590 Change-Id: I8d996b2842911e03b2c92783114a688754e9b93c Reviewed-by: Hatem ElKharashy <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 259ad59 - Browse repository at this point
Copy the full SHA 259ad59View commit details -
Android: remove packagingOptions.jniLibs.useLegacyPackaging property
This is not needed after 0db5b424cdaede8724886e8a1eda1380382d9aaf. Change-Id: Ic5fc2bccf260cfdc159212324fb066d9137753c0 Reviewed-by: Petri Virkkunen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 88660cd - Browse repository at this point
Copy the full SHA 88660cdView commit details -
The module QQuickItem belongs to is called "QtQuick", not only "Quick". Amends commit 9207452. Pick-to: 6.8 6.5 Change-Id: Ifd7c1c50551793ecee7c620f9f8aac2a37a518cb Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for bb00c71 - Browse repository at this point
Copy the full SHA bb00c71View commit details -
QtQml: Wake type loader thread on engine shutdown if necessary
If the type loader thread is waiting for the main thread to process a message, we cannot shut it down without waking it first. However, having locked the mutex, we can detect this situation by exemining the mainSync member. If that is set, wake the type loader thread one last time. It will then have the opportunity to see the isShutdown flag we've just set and dutifully shut itself down. Amends commit 73b2e33 Pick-to: 6.8 6.5 Fixes: QTBUG-128269 Change-Id: I8bf897010972de5e40e717846f3ff106e040dbe6 Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for 2296fad - Browse repository at this point
Copy the full SHA 2296fadView commit details -
QtQml: Make LoadHelper behave like a proper QQmlDataBlob
It should load on the type loader thread so that we can uphold the invariants on what methods are called on what thread. This way we can also meaningfully loadFromModule in asynchronous mode. It turns out we also don't need to store the loaded type separately since the LoadHelper already holds it. Fixes: QTBUG-108746 Change-Id: Id0c0bc5f80763c238711f09873153a94cec5244e Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedOct 31, 2024 Configuration menu - View commit details
-
Copy full SHA for 0bde414 - Browse repository at this point
Copy the full SHA 0bde414View commit details -
CMake: Add a global QT_QML_NO_CACHEGEN cmake variable
A new QT_QML_NO_CACHEGEN cmake variable can be set to disable compilation of qml files into bytecode or C++ code. The variable can be set either in a specific directory scope or in the root of the project (to disable qml compilation for all targets). This is just a more global version of the NO_CACHEGEN option that can be passed to qt6_add_qml_module. For projects with many qml files, this reduces the build time, allowing faster development iteration times. It is more convenient than passing NO_CACHEGEN to each created qml module. [ChangeLog][Build System] A new QT_QML_NO_CACHEGEN cmake variable can be set to disable compilation of qml files for all project qml files. Pick-to: 6.8 Task-number: QTBUG-125631 Task-number: QTBUG-126205 Task-number: QTBUG-128323 Change-Id: I963c14ad0d07bf1f6d6205afdd0a8a90e73f025d Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Leena Miettinen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 69254df - Browse repository at this point
Copy the full SHA 69254dfView commit details
Commits on Nov 1, 2024
-
Return menu shadow opacities to same they were before Qt 6.8.0. Task-number: QTBUG-130582 Pick-to: 6.8 Change-Id: Ic47732e7664b7fcdfef5153f3af3b9810a184a7d Reviewed-by: Tomi Korpipää <[email protected]> Reviewed-by: Richard Moe Gustavsen <[email protected]>
Kaj Grönholm committedNov 1, 2024 Configuration menu - View commit details
-
Copy full SHA for 61082cc - Browse repository at this point
Copy the full SHA 61082ccView commit details -
Update dependencies on 'dev' in qt/qtdeclarative
Change-Id: Ife5ba2a26e5527140c3641a8189428238977c4d1 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt Submodule Update Bot committedNov 1, 2024 Configuration menu - View commit details
-
Copy full SHA for 3cef946 - Browse repository at this point
Copy the full SHA 3cef946View commit details -
Engine: validate that C++ defined singletons have no required properties
Required properties on a singleton don't really make sense. So far we only detected the issue for composite types, now we only detect it on (most) C++ defined singletons. To reduce the overhead of the check, and to avoid weird interactions with dynamic metaobjecs, we only attempt it when the singleton has a property cache. Fixes: QTBUG-122784 Change-Id: Ia4e727d9e2b9171ae6d144acaca3b47cd03f5641 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3a6c2d9 - Browse repository at this point
Copy the full SHA 3a6c2d9View commit details -
Doc: Clarification on the use of "imports"
The use of "imports" is confusing because there is a chain of imports. I changed the wording to make it clear. Fixes: QTBUG-113576 Change-Id: Iea54d90f97b7d8830a9e4bce0cca9da3bab8e257 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for efb64be - Browse repository at this point
Copy the full SHA efb64beView commit details -
QmlCompiler: Allow conversion of object literals to QJSValue
Task-number: QTBUG-124634 Change-Id: Ifb09c0f5e4a732518e44a8d3b73c5a836ad66508 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 1, 2024 Configuration menu - View commit details
-
Copy full SHA for 5b867e3 - Browse repository at this point
Copy the full SHA 5b867e3View commit details -
QQmlContextData: Don't expose PersistentValue in imported scripts API
This is in preparation of the next commit, which will change how we store the data internally. Pick-to: 6.8 Change-Id: I5b35639c8757770c1efad98f85c70227344adeea Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 85253df - Browse repository at this point
Copy the full SHA 85253dfView commit details -
Engine: Keep script context alive
A closure might need to access the imported scripts, which live in the context. The closure might however live longer than than the context is valid, and so far, the lookup would have failed. Solve that issue by not completely discarding the reference to the script, but instead downgrading it to a weak reference. Additionally, closurse will keep a reference to the scripts as an invalid property, so that the gc will keep them alive. The ignoreMessage call in importedScriptsAccessOnObjectWithInvalidContext is removed, as we keep the script value alive. Pick-to: 6.8 Fixes: QTBUG-130575 Change-Id: Ieb3044c419271473a9fc9afcf9e88ab4b3f4b88a Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aefdce8 - Browse repository at this point
Copy the full SHA aefdce8View commit details -
Add test for rendering a very large font
Since this has proven problematic, we add a Lancelot test to render a very large font (2000 pixels). Task-number: QTBUG-126671 Change-Id: I21326d34b3f6381630dd4770b1906e8a8f4610ba Reviewed-by: Eirik Aavitsland <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b15bf90 - Browse repository at this point
Copy the full SHA b15bf90View commit details -
Corrected spelling of 'successful' Change-Id: I0a87313404333d84ad63029b86cdcea023c6d899 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a906cfe - Browse repository at this point
Copy the full SHA a906cfeView commit details -
Docs: Fix broken links in the Qml project
Pick-to: 6.8 Change-Id: I449cea89333cfcd8437ea423d69a6f264dfa33b4 Reviewed-by: Sami Shalayel <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8743a7a - Browse repository at this point
Copy the full SHA 8743a7aView commit details -
Docs: Remove unused images in qtdeclarative
Pick-to: 6.8 Change-Id: I81ffcbfb3e6df66e49cc36fea2273cea19240099 Reviewed-by: Paul Wicking <[email protected]> Reviewed-by: Topi Reiniö <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 37928cf - Browse repository at this point
Copy the full SHA 37928cfView commit details -
Docs: Revamp Quick Controls overview/types page
This commit brings a list of controls to the index page of the Qt Quick Controls documentation. This should help the visibility and discoverability of the available controls. Task-number: QTBUG-129909 Pick-to: 6.8 Change-Id: Ida4f269d973ea575773aac36d8415cfeaf16e29c Reviewed-by: Mats Honkamaa <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b8dfd44 - Browse repository at this point
Copy the full SHA b8dfd44View commit details -
Docs: Reorganize the qml tooling page
Task-number: QTBUG-130111 Pick-to: 6.8 Change-Id: I4e6d9f35a12ec5c74625e955d40b80d470dd6253 Reviewed-by: Mats Honkamaa <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 75ceedb - Browse repository at this point
Copy the full SHA 75ceedbView commit details -
Quick: Fix QQuickColorValueType
There is no reason to marshall QColor into QVariant inside QtQuick, unless we're implementing the interface required by QtQml. Therefore, move the actual color modification algorithms into QQuickColorValueType and have QQuickColorProvider only do the marshalling itself. Also, provide a Q_INVOKABLE ctor from QColor and inherit from QColor rather than aggregating it. Task-number: QTBUG-124634 Change-Id: I692a31814e4a07d47b477721dc74da532a7d26b6 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedNov 1, 2024 Configuration menu - View commit details
-
Copy full SHA for c526026 - Browse repository at this point
Copy the full SHA c526026View commit details -
QtQuick: Improve safety and ergonomics of value types
Make all the wrappers derive from the actual value types so that our casts become defined behavior, and add constructors that take the actual value types, so that you can construct them from object literals (except QQuickColorSpaceValueType which is anonymous and cannot expose a ctor). Also drop the pointless QString(QLatin1String(...)) double wrapping in the various toString() methods. Task-number: QTBUG-124634 Change-Id: I48f2aac9540b23bfc3fc3005d8e5284f1c0a013d Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 1, 2024 Configuration menu - View commit details
-
Copy full SHA for db5f22d - Browse repository at this point
Copy the full SHA db5f22dView commit details
Commits on Nov 3, 2024
-
Implement QQuickGridViewPrivate::getAttachedObject()
QQuickGridView inherits from QQuickItemView, which provides functions that emit the signals "pooled" and "reused". The signals are not emitted if the virtual function QQuickItemViewPrivate::getAttachedObject() hasn't been implemented for the appropriate subclass of QQuickItemViewPrivate, which in this case is QQuickGridViewPrivate. Implement QQuickGridViewPrivate::getAttachedObject() to enable emitting signals for when items are being pooled and reused. Fixes: QTBUG-122249 Fixes: QTBUG-107458 Change-Id: Ibb7351c6fd01ef304ecdcab8344f2b6543ae2777 Reviewed-by: Axel Spoerl <[email protected]> Reviewed-by: Richard Moe Gustavsen <[email protected]>
Chris Lerner committedNov 3, 2024 Configuration menu - View commit details
-
Copy full SHA for 941b36a - Browse repository at this point
Copy the full SHA 941b36aView commit details
Commits on Nov 4, 2024
-
aotstats: Rework cmake deferred calls
The code setting up aotstats is executed when qt_add_qml_module is called. Within one of these calls we cannot know if more modules will be added later or whether extra properties will be set on the module target. We therefore have to defer setting up the dependencies, targets, and commands until a later point when we have all the necessary information. The current implementation has issues. The logic for the project-level stats which is supposed to collect the module-level stats will in some cases run before some module-level calls. Those modules would then not be included in the statistics. Therefore, defer setting up things until after the CMAKE_BINARY_DIR was fully evaluated. At that point all the collected module definitions and target properties can be processed in one go, regardless of their definition order. These fixes mean that we can new run all_aotstats on Qt itself and get proper results! Fixes: QTBUG-130087 Task-number: QTBUG-124667 Pick-to: 6.8 Change-Id: Ib8ae8b9d7d120fa7ca86a7ad6a14480435564416 Reviewed-by: Alexey Edelev <[email protected]>
Olivier De Cannière committedNov 4, 2024 Configuration menu - View commit details
-
Copy full SHA for 09f5197 - Browse repository at this point
Copy the full SHA 09f5197View commit details -
aotstats: Support --only-bytecode and modules with no qml files
It is possible to pass --only-bytecode to qmlcachegen. As the name implies, this only generates the bytecode for the qml files and does not compile them. This case was not taken into account which could lead to files commands depend upon not being generated. Therefore, keep track of empty and only-bytecode modules in files generated by cmake and pass them to qmlaotstats upon aggregation such that it can include that information in the report. Also, only pass the arguments specific to aotstats to qmlcachegen if --only-bytecode is not set for that module. Fixes: QTBUG-130084 Task-number: QTBUG-124667 Pick-to: 6.8 Change-Id: I44b4a80e8a6fd2f9bc16ae1bb2c8d540ff3b697b Reviewed-by: Sami Shalayel <[email protected]>
Olivier De Cannière committedNov 4, 2024 Configuration menu - View commit details
-
Copy full SHA for 318ac44 - Browse repository at this point
Copy the full SHA 318ac44View commit details -
aotstats: Keep track of files and modules with no functions or bindings
Before this change, the report presented to the user would be completely silent about them. For the sake of consitency, register each file before trying to compile it. This will then add an entry for empty files and modules. Task-number: QTBUG-124667 Pick-to: 6.8 Change-Id: I502660b7a16a67a173763f9ea2b081cbcceb5658 Reviewed-by: Sami Shalayel <[email protected]>
Olivier De Cannière committedNov 4, 2024 Configuration menu - View commit details
-
Copy full SHA for 4dab304 - Browse repository at this point
Copy the full SHA 4dab304View commit details -
aotstats: Add integration test
The behavior of aotstats has been fragile in the past. Cement it by adding a test for the expected output for the stats of a project. The test covers different potentially tricky scenarios. The output is now sorted alphabetically for module URI and filename. Bindings and functions are already sorted by file order. This makes the output deterministic and also more easy to navigate. Task-number: QTBUG-124667 Pick-to: 6.8 Change-Id: Ie5917c53b3826d39b044e2fb2763a5af2106bccf Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Olivier De Cannière committedNov 4, 2024 Configuration menu - View commit details
-
Copy full SHA for 6a3e771 - Browse repository at this point
Copy the full SHA 6a3e771View commit details -
Begin limiting the number of buffers pushed to m_vboPool and m_iboPool when a batch is removed. The important part here is that this mechanism has no direct equivalent in Qt 5, where existing OpenGL buffers got respecified (i.e., calling glBufferData with whatever the new size is) aggressively. Qt 6 has better potential for reusing existing native buffers as-is (which should be good both for performance and possibly reducing memory fragmentation). However, this has the potential to change the applications' memory usage patterns, although this depends heavily on the scene and how it changes over time. Begin keeping track of the total size of the buffers pushed to the vbo/ibo lists. If the a buffer does not fit, just destroy it. By default the limit is set to 2 MB, quite low compared to the previous no limit approach. However, for the typical 2D Quick scene with small geometries (and so vertex/index buffers) this still allows quite a lot of reuse, while avoiding sky high memory use in scenes that generate huge geometries and then do not do much with the scene, meaning no new batches are created in the renderer and so the big buffers just sit in the pool waiting for reuse in the future... (or until QQuickWindow::releaseResources() is called) The limit applies separately for m_vboPool and m_iboPool, and can be overridden by setting QSG_RENDERER_BUFFER_POOL_LIMIT to the limit (in bytes; 0 is also valid, disabling buffer reuse completely). There is a new renderer debug category 'pools' that can be enabled by setting QSG_RENDERER_DEBUG=pools. This is because in applications with huge geometries categories like 'upload' are useless, since the debug output will choke on all the output. So to just see how these pools grow/shrink, is is better to have a dedicated one as well. Pick-to: 6.8 Change-Id: I6cc5eb32759c9d10a77f6dcf9b5814613039e208 Reviewed-by: Andy Nichols <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9e696d5 - Browse repository at this point
Copy the full SHA 9e696d5View commit details -
Doc: Make note about setting MouseArea::cursorShape to undefined
Setting the cursorShape property to undefined, the MouseArea will not change the cursor from its existing shape when entering it. Let users know about this. Fixes: QTBUG-124533 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: I78cb3f8a7ffdfdd9f9504314bced20b46ec319c0 Reviewed-by: Shawn Rutledge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 555fda5 - Browse repository at this point
Copy the full SHA 555fda5View commit details -
Don't propagate mouse event for menu configured inside popup
The patch e4a1596 fixes propagating mouse events by not allowing it to the underlying items beneath the overlay. It still can cause an issue when the menu is nested within the popup. This is because the menu doesn't block the input, which allows the overlay to pass on the events to the next child item. This patch enables the menu to consume the mouse press event (as similar to the drawer), further causing overlay not to pass on the events to the other child items. Fixes: QTBUG-130536 Pick-to: 6.8 6.5 Change-Id: I1014c692a4a5aed22e096a79c06e27cb26fea70d Reviewed-by: Mitch Curtis <[email protected]>
Santhosh Kumar committedNov 4, 2024 Configuration menu - View commit details
-
Copy full SHA for 9fd43c2 - Browse repository at this point
Copy the full SHA 9fd43c2View commit details -
split QmlObject::writeOut into smaller functions
Make the code easier to read by splitting it off into multiple helper methods. Also add some newlines to get some structure. This does not change any existing functionality and only moves code around. Also replace "isRootObject" bool with "component" DomItem, as "component" is only set when "isRootObject" is set: that saves us from passing one redundant bool parameter to the newly introduced helper methods. Change-Id: I4844a7ac5f6af1aba9399d6b7e82d1018f2ac6e2 Reviewed-by: Semih Yavuz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9d79729 - Browse repository at this point
Copy the full SHA 9d79729View commit details -
qmllint plugins: prefix settingsname with plugin name
Prefix the logging category name with the plugin's name, in the same way as the category id's are also prefixed. Fixed a test from bc70918 that did not test anything. Add a flag to callQmllint() that enables to read settings, and make sure that a warning is actually emitted when the settings are not read for the settings/plugin/elementPass_pluginTest.qml file. The latter file was also renamed because the test lint plugin only enables itself on files ending with "pluginTest.qml". Add a compatibility mode that allows loading "old" .qmllint.ini files where the settings names do not contain the plugin name. [ChangeLog][Important Behavior Change] Qmllint prefixes logging categories from plugins with the plugin name in .qmllint.ini files. For example, PropertyChangesParsed=disable becomes Quick.PropertyChangesParsed=disable. Fixes: QTBUG-130357 Change-Id: I47a0bf22991d6a438aa3371c666da34f2c2835bc Reviewed-by: Fabian Kosmale <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4455f1 - Browse repository at this point
Copy the full SHA c4455f1View commit details -
Doc: Fix typo in Quick enumeration value name
Pick-to: 6.8 6.7 6.6 6.5 Fixes: QTBUG-130820 Change-Id: I5f1bba26024cc7f8d81b04147751f8e30feefc6c Reviewed-by: Andreas Eliasson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 07ebdaf - Browse repository at this point
Copy the full SHA 07ebdafView commit details -
QmlCompiler: Resolve regular group properties like generalized ones
They are mostly the same. We only need to search the local properties rather than the IDs for the regular group properties. This allows us to resolve group properties on aliases since aliases get resolved before group properties. Pick-to: 6.8 Fixes: QTBUG-128632 Change-Id: I6f77a65499dd6bec29269f7b0974180fa76a749e Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Ulf Hermann committedNov 4, 2024 Configuration menu - View commit details
-
Copy full SHA for 8c2fa03 - Browse repository at this point
Copy the full SHA 8c2fa03View commit details -
QtQml: Pass PendingImportPtr as const ref
The std::move in setPriority() didn't really help because ultimately the import was still copied when calling fetchQmldir. It's better to be consistent about how to pass PendingImportPtr than to try an eke out a single copy via std::move somewhere. Coverity-Id: 469952 Change-Id: I6ddba5b6bc5e51400e8657de92d0ac4180a22db3 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 4, 2024 Configuration menu - View commit details
-
Copy full SHA for 892062a - Browse repository at this point
Copy the full SHA 892062aView commit details
Commits on Nov 5, 2024
-
Get rid of old comment in qquickmousearea_p.h
Reverts part of ea4c242 but we continue to export the class. Change-Id: I1ea1b0823580e442860ca2aebd7208047d65876e Reviewed-by: Oliver Eftevaag <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4cfce55 - Browse repository at this point
Copy the full SHA 4cfce55View commit details -
MouseArea: don't enter pressed state while invisible
Fixes: QTBUG-128577 Pick-to: 6.5 6.8 Change-Id: Ib6d97450e8aa6e55531ff5a20d86105e4f2db565 Reviewed-by: Oliver Eftevaag <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c36c688 - Browse repository at this point
Copy the full SHA c36c688View commit details -
Correct AndroidManifest.xml licensing in REUSE.toml file
Task-number: QTBUG-124453 Task-number: QTBUG-125211 Pick-to: 6.8 Change-Id: Ib9b6b615359e8044e8ef9703984c14cc53411e42 Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5993247 - Browse repository at this point
Copy the full SHA 5993247View commit details -
QmlFormat. A bit risky. Remove LineWriterOptions::updateOptions
After QTBUG-128866 it seems that all times we use `LineWriterOptions::Update::None` meaning that not any of the if-s or flags checks on the LineWriterOptions are applicable. At least for the current production usages (QmlLS, qmlformat) This opens a great possibility of removing it completely along with other aux entities (see patches in the chain) Thoughts: Probably in the beginning it was intended to have a capability of changing items / expressions etc. in order not to reparse / rebuild DOM again after reformatting. AFIK atm we do not support any incremental parsing or changes in the DOM / QmlLS, but also this functionality was hard to deal with, therefore it's arguably a better option to remove it. Change-Id: I00725f012f1860eafd5609e4352bce4880f3ccb3 Reviewed-by: Ulf Hermann <[email protected]> Reviewed-by: Semih Yavuz <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Dmitrii Akshintsev committedNov 5, 2024 Configuration menu - View commit details
-
Copy full SHA for 3e835c1 - Browse repository at this point
Copy the full SHA 3e835c1View commit details -
QmlFormat. remove OutWriter::reformattedScriptExpressions
After the previous patch reformattedScriptExpressions are not modified (it seems that they have never been modified even before), therefore there is no need in storing them and handling, esp. taking into account how complicated they are. Change-Id: I243ceeac8073de110cdf4300b33a5bc577a8de58 Reviewed-by: Ulf Hermann <[email protected]>
Dmitrii Akshintsev committedNov 5, 2024 Configuration menu - View commit details
-
Copy full SHA for e97708d - Browse repository at this point
Copy the full SHA e97708dView commit details -
QmlDom. remove UpdatedScriptExpressions
Removing now redundant DomType Change-Id: I06836dcc6e076bb29fddbb3f7251b5d9f4cbc786 Reviewed-by: Ulf Hermann <[email protected]>
Dmitrii Akshintsev committedNov 5, 2024 Configuration menu - View commit details
-
Copy full SHA for 2824130 - Browse repository at this point
Copy the full SHA 2824130View commit details -
QmlFormat: remove restoreWrittenOutFile
Previously it was taking care of updatedScriptExpressions, which in reality was not changing because of the in production paths we are using LineWriterOptions::updateOption::None. Change-Id: I6ed070f020bd50723f2186c28ba4dd2a2d7d36b2 Reviewed-by: Sami Shalayel <[email protected]>
Dmitrii Akshintsev committedNov 5, 2024 Configuration menu - View commit details
-
Copy full SHA for 731e175 - Browse repository at this point
Copy the full SHA 731e175View commit details -
QmlFormat: change confusing condition for writeOutChecks
This condition was confusing because of the flags and bitwise operators, leading to some misunderstanding and temptation to remove this completely. Simplifying this condition. Change-Id: Ic34091321fd870905fd07c862aa888f0136d85b3 Reviewed-by: Sami Shalayel <[email protected]>
Dmitrii Akshintsev committedNov 5, 2024 Configuration menu - View commit details
-
Copy full SHA for 6a10b4d - Browse repository at this point
Copy the full SHA 6a10b4dView commit details -
QmlFormat: remove redundant WriteOutChecks, adjust performWriteOutChecks
Removing currently unused WriteOutChecks. Even though some of these could be helpful at later stage during the testing, this should be then located in the testing utils and not in the production code. Change-Id: Ibe66eba9822188bc072c65b2f7ecb2a8dd3c2d1e Reviewed-by: Sami Shalayel <[email protected]>
Dmitrii Akshintsev committedNov 5, 2024 Configuration menu - View commit details
-
Copy full SHA for d02101f - Browse repository at this point
Copy the full SHA d02101fView commit details -
Update the qt_internal_link_internal_platform_for_object_library usage
The function now accepts two arguments, but not one. The second argument is the main plugin target that the object library belongs to. It's used to keep the set of flag-controlling properties consistent between object library and plugin. Change-Id: I6e1aea2734f4155c6687b1867243d019a66b1106 Reviewed-by: Alexandru Croitor <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 93a856e - Browse repository at this point
Copy the full SHA 93a856eView commit details
Commits on Nov 6, 2024
-
QQuickApplication: do not leak screen info on updateScreens()
There is potential memory leak on updating a list of QQuickScreenInfo objects in QQuickApplication::updateScreens(). When updating the list we try to reuse existent screen info objects by simply resizing the list and creating new objects when needed. But we forgot to delete unused objects when the list shrinks. To fix this we just wrap QQuickScreenInfo pointers to std::unique_ptr in order to enable automatic memory management. Change-Id: Ib07afe66f269863f728824903c0b50b6206a05e8 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for afe082d - Browse repository at this point
Copy the full SHA afe082dView commit details -
tst_qmltc: Pass QT_NO_CAST_FROM_ASCII to tests
This change is similar to the one made to tst_qmlcppcodegen. Hopefully, after this change, we will no longer let ASCII_CAST mistakes through in any of our generated code. Enabling this has already uncovered additional non-QStringLiteral'ed strings in the code qmltc generates. They have been extracted to the previous commit for easier CI integration. Task-number: QTBUG-130081 Pick-to: 6.8 Change-Id: I90c76405ba15ac23ffc76c5a37137e4bb60bf42e Reviewed-by: Sami Shalayel <[email protected]>
Olivier De Cannière committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 12e1284 - Browse repository at this point
Copy the full SHA 12e1284View commit details -
Update dependencies on 'dev' in qt/qtdeclarative
Change-Id: I7285055d42520b339f95e23e618f3e3b8461ebb8 Reviewed-by: Qt Submodule Update Bot <[email protected]>
Qt Submodule Update Bot committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 13113aa - Browse repository at this point
Copy the full SHA 13113aaView commit details -
QtQml: Don't wrap bezier curves into QVariantList
Those are simply QList<qreal>. No need to wrap and unwrap those. Change-Id: I624a0df34ee7c72920e02d9d81f61318fc95b6e4 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 6ccdc18 - Browse repository at this point
Copy the full SHA 6ccdc18View commit details -
QtQml: Improve safety and ergonomics of value types
Make all the wrappers derive from the actual value types so that our casts become defined behavior, and add constructors that take the actual value types, so that you can construct them from object literals. Task-number: QTBUG-124634 Change-Id: If04402b60ece9f54997e00aacab8ea9186e7887a Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]>
Ulf Hermann committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 9a64a5c - Browse repository at this point
Copy the full SHA 9a64a5cView commit details -
QmlCompiler: Support construction of value types with 'new'
This allows us to create value types with invokable copy ctors from JavaScript objects that describe their properties. That way we now have a full replacement for the Qt.foo() methods. As a side effect, we support retrieval of enums for certain kinds of broken value types now, if prefixed with a namespace. Fixes: QTBUG-124634 Change-Id: If2a3c59d647e211ef5a0cd1ddee04b409d9ea5f3 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 05b7836 - Browse repository at this point
Copy the full SHA 05b7836View commit details -
QtQml: Fix two-classes lookup with first memberData, then inline
We can use the same lookup function as for the first inline, then memberData case, but we have to store the ICs and offsets in reverse order. Amends commit 72bf928. Fixes: QTBUG-130718 Change-Id: I3062fa740faa7693625523370014cb06653a79ba Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 9ae34fc - Browse repository at this point
Copy the full SHA 9ae34fcView commit details -
Fix warning in qquickqmlgenerator.cpp
MSVC was warning about the concatenation as QTextStream does not have anything against const char[] in QT_NO_CAST_FROM_ASCII mode. Change-Id: Icbdde0c847354729558a263c793f4b28450d84d4 Reviewed-by: Fabian Kosmale <[email protected]>
Mate Barany committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 3acadcd - Browse repository at this point
Copy the full SHA 3acadcdView commit details -
Fix resizing and moving of a Quick Dialog with popupType = Popup.Window
If the user moves the Dialog using the mouse, and then tries to resize it (also using the mouse), they will observe two issues: 1. As soon as resizing was started, the dialog jumped to the coodrinate specified by the x and y properties. Depending on the OS, it could jump back after the resizing is finished (Windows), or stay at that position (macOS). 2. If the resizing is started in such a way, that topLeft coordinate is involved, it didn't actually change (apart from jumping as described in point 1), but instead the width and height were changed in an unintuitive way. The first problem is caused by the fact that QQuickPopupPositioner::reposition() method used x and y properties to get the requested position. However, when the dialog is moved using the mouse, only the effective position is updated. The second problem is more involved. When the user starts resizing from the topLeft corner, we end up in QGuiApplicationPrivate::processGeometryChangeEvent(), which registers that both resize and move events have happened. The code processes the resize event first, so here's what happens: 1. The window geometry is updated (we'll use that fact later) 2. The resize event is generated and sent. 2.1. This resize event triggers QQuickPopupWindow::resizeEvent(), which updates the popup item's width and height. 2.2. Each of width and height updates calls geometryChange(), which ends up in QQuickPopup::geometryChange(). That, in turn, calls QQuickPopupPositioner::reposition(). 2.3. The reposition() call changes the position of the popupWindow using the current topLeft value. IIUC, this schedules another system geometry change event to the event loop. 3. After that we're back to QGuiApplicationPrivate, and generate the move event. 3.1. This move event is handled in QQuickPopupWindow::moveEvent(), which simply updates the effective position (without moving anything). 4. After that we handle the move event from the reposition() call (the one that is generated at point 2.3). And here we update the effective position back to the old value. To fix both issues, use the fact that the window's geometry is actually updated at the very beginning (point 1 above), so we already know the new topLeft when handling the resize event. Use this value to temporary update x and y member variables (directly, without touching the properties), before setting the width and height. That means that the reposition() calls will use the proper top-left position to do the positioning. Once we're done, restore the actual x and y values, because they can differ from the effective pos. The fix is sub-optimal, but seems to have the least possible impact on other code (like normal Popup behavior or general geometry updates handling). Writing unit-tests for such case is not really possible, since the testlib does not allow to simulate the interaction with the non-client part of the window, so simply provide a manual test. Fixes: QTBUG-130623 Pick-to: 6.8 Change-Id: I8209c8a648d95f3b83ae15a77b48bf04eeb1c154 Reviewed-by: Oliver Eftevaag <[email protected]>
Ivan Solovev committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 7fcdc34 - Browse repository at this point
Copy the full SHA 7fcdc34View commit details -
We might hit in default case, remove the unreachable return macro. Otherwise, it crashes. Pick-to: 6.8 Fixes: QTBUG-130880 Change-Id: I6cf568790e757ec5e65d3c380635cbd70191a227 Reviewed-by: Marcus Tillmanns <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Sami Shalayel <[email protected]>
Semih Yavuz committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for 443a635 - Browse repository at this point
Copy the full SHA 443a635View commit details -
Turn Qt::QuickEffects into a regular Qt module
We want find_package(Qt COMPONENTS QuickEffects) to do something useful. Otherwise people will have a hard time using the QuickEffects types with qmltc. [ChangeLog][Build System] QuickEffects is now an actual Qt module that you can findPackage() without further gymnastics. Fixes: QTBUG-130588 Change-Id: Ie0616a83124c3f1ee5145128acd95e8e4ebf3cd2 Reviewed-by: Kaj Grönholm <[email protected]> Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Vladimir Belyavsky <[email protected]>
Ulf Hermann committedNov 6, 2024 Configuration menu - View commit details
-
Copy full SHA for b772c53 - Browse repository at this point
Copy the full SHA b772c53View commit details -
Remove unused include from "qv4sequenceobject.cpp"
Change-Id: I65fe010323475b61fc71f20820c3e30c2ab93801 Reviewed-by: Olivier De Cannière <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 61e1e69 - Browse repository at this point
Copy the full SHA 61e1e69View commit details
Commits on Nov 7, 2024
-
Fix indentation in QtBuild tasks in QtQ4A examples
For some reason the Java-based examples have one extra leading whitespace character in the QtBuild task block in build.gradle(.kts). Remove those because they don't look nice and parsing them requires a bit more work. Pick-to: 6.8 Change-Id: Ifbe5cd2e911612f83563a0cc3ec4b16138ce7e5e Reviewed-by: Tero Koponen <[email protected]> Reviewed-by: Assam Boudjelthia <[email protected]>
Olli Vuolteenaho committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for 32bf5c7 - Browse repository at this point
Copy the full SHA 32bf5c7View commit details -
Add some documentation for ReferenceObject
ReferenceObject is currently the backbone of the the write-back mechanism. Add some basic documentation on its purpose and usages to try and reduce the complexity of approaching some of the dependent code that deals with write-backs (e.g Sequence, QQmlValueTypeWrapper, ...) and to simplify approaching a review or performing work related to write-backs, which currently still require some development. Change-Id: I56f346c29c79313ebc6181ab87b9f7369115ad83 Reviewed-by: Olivier De Cannière <[email protected]> Reviewed-by: Ulf Hermann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4bb815e - Browse repository at this point
Copy the full SHA 4bb815eView commit details -
TableView sections moving (QTBUG-100440) affected also TreeView so that wrong cell index was edited. Task-number: QTBUG-130589 Pick-to: 6.8 Change-Id: I88c7cbebc1409dcaa511b03038bf3875f0378b69 Reviewed-by: Santhosh Kumar <[email protected]>
Kaj Grönholm committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for fdc2a05 - Browse repository at this point
Copy the full SHA fdc2a05View commit details -
Fix multiple QQuickTextEdit::textChanged emission
Signal disconnection previously failed due to mixing string based connection with function pointer based one causing QQuickTextEdit::textChanged to be emitted multiple times Fixes: QTBUG-130676 Pick-to: 6.8 Change-Id: I3f948aa4b37a9b3a9ddd6240e248fd96fee36175 Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
Hatem ElKharashy committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for b3e70d1 - Browse repository at this point
Copy the full SHA b3e70d1View commit details -
aotstats: Fix coverity warnings
Coverity-Id: 469979 Coverity-Id: 469980 Change-Id: Ia26d66820b78a3ae9208c2a230bd2548fb9cbfc6 Reviewed-by: Ulf Hermann <[email protected]>
Olivier De Cannière committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for 886da9f - Browse repository at this point
Copy the full SHA 886da9fView commit details -
QtQuick: Do not expose a replace() method for QQuickWindow::data
QQuickWindow's data is backed by its content item's data and QQuickItem does not support replace() because it's not actually a list. Amends commit 7e19885. Fixes: QTBUG-130856 Pick-to: 6.8 6.5 Change-Id: I27dbf3666d9c40389ebf5b0259ee343868194c89 Reviewed-by: Semih Yavuz <[email protected]> Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for e156157 - Browse repository at this point
Copy the full SHA e156157View commit details -
QQmlComponent: Fix ordering of callbacks on loadFromModule()
We need to set any initial properties before we call componentComplete() and we should assign a context to the object even if it's loaded from a C++-based type. It can be the engine's root context in that case. Amends commit fa0be26. [ChangeLog][QtQml] The QQmlParserStatus callbacks are invoked on objects loaded using QQmlComponent::loadFromModule() at appropriate times now. You can rely on any initial properties having been set before componentComplete() is called and you can rely on the object having a valid QML context. Pick-to: 6.8 6.5 Fixes: QTBUG-130867 Change-Id: I3485a4305a583ce3cab7d83d8305503025004f44 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for 595abf2 - Browse repository at this point
Copy the full SHA 595abf2View commit details -
Spreadsheets Example: Fix hang on dragging header through selected cells
The bug occurred when dragging a column over a selected column cells. The DropArea in TableView attempted to process inconsistent drag data for all the selected cells (up to 1000), causing the application to hang. Fix: Enable DropArea only for dragging TableView cells; disable for other cases. Fixes: QTBUG-130928 Pick-to: 6.8 Change-Id: I162a57638d89b97f3f1ef553850e3be3be389f1d Reviewed-by: Santhosh Kumar <[email protected]>
MohammadHossein Qanbari committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for 1e02f01 - Browse repository at this point
Copy the full SHA 1e02f01View commit details -
Pick-to: 6.8 Fixes: QTBUG-130900 Change-Id: I89ed8b8e75cc3401fa9b43277fce9e06c0e75549 Reviewed-by: Andreas Eliasson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 721ef67 - Browse repository at this point
Copy the full SHA 721ef67View commit details -
Coverity-Id: 469981 Change-Id: Ia69ad97306f63e0265a6b411646824fec90cc323 Reviewed-by: Olivier De Cannière <[email protected]>
Ulf Hermann committedNov 7, 2024 Configuration menu - View commit details
-
Copy full SHA for 7ef96fc - Browse repository at this point
Copy the full SHA 7ef96fcView commit details