Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calls order of q_invokable method #10

Open
wants to merge 10,000 commits into
base: 6.2
Choose a base branch
from
Open

Calls order of q_invokable method #10

wants to merge 10,000 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 7, 2024

  1. Fix signal emiting order

    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]>
    Morteza-Jamshidi committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    5f30988 View commit details
    Browse the repository at this point in the history
  2. 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 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    5ecfe3d View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. 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]>
    ouchuan authored and ec1oud committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    1f618ee View commit details
    Browse the repository at this point in the history
  2. 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]>
    samishalayel committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    395499e View commit details
    Browse the repository at this point in the history
  3. 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)
    mitchcurtis committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    101df5c View commit details
    Browse the repository at this point in the history
  4. Docs: Add FluentWinUI3 style to the list of available styles

    Pick-to: 6.8
    Change-Id: I40c103020432540c038932a4fe0516cac3b1ad3b
    Reviewed-by: Volker Hilsheimer <[email protected]>
    dorisverria1 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    8dab082 View commit details
    Browse the repository at this point in the history
  5. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    d008834 View commit details
    Browse the repository at this point in the history
  6. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    5d34b77 View commit details
    Browse the repository at this point in the history
  7. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    ffd39a4 View commit details
    Browse the repository at this point in the history
  8. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    c065151 View commit details
    Browse the repository at this point in the history
  9. 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]>
    ec1oud committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    87b7a9b View commit details
    Browse the repository at this point in the history
  10. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    b61c19f View commit details
    Browse the repository at this point in the history
  11. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    7dcaa6c View commit details
    Browse the repository at this point in the history
  12. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    18804f2 View commit details
    Browse the repository at this point in the history
  13. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    459f797 View commit details
    Browse the repository at this point in the history
  14. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    7744160 View commit details
    Browse the repository at this point in the history
  15. 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 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    f2cfadc View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. 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]>
    QtDheeru committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    a70ddf1 View commit details
    Browse the repository at this point in the history
  2. 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]>
    samishalayel committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    4baa3b7 View commit details
    Browse the repository at this point in the history
  3. 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]>
    samishalayel committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    b14891e View commit details
    Browse the repository at this point in the history
  4. 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]>
    dorisverria1 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    e57eba7 View commit details
    Browse the repository at this point in the history
  5. 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]>
    akforrest committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    9062ba3 View commit details
    Browse the repository at this point in the history
  6. 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]>
    aavit committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    337ef1b View commit details
    Browse the repository at this point in the history
  7. 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 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    36ea709 View commit details
    Browse the repository at this point in the history
  8. 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 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    1374d2b View commit details
    Browse the repository at this point in the history
  9. 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]>
    samishalayel committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    cc800c4 View commit details
    Browse the repository at this point in the history
  10. 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 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    349a180 View commit details
    Browse the repository at this point in the history
  11. 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 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    d63c560 View commit details
    Browse the repository at this point in the history
  12. 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]>
    samishalayel committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    f6b8993 View commit details
    Browse the repository at this point in the history
  13. 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 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    bd3ad6c View commit details
    Browse the repository at this point in the history
  14. 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 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    a6db210 View commit details
    Browse the repository at this point in the history
  15. 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]>
    andreaseliasson committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    00a4a18 View commit details
    Browse the repository at this point in the history
  16. 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 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    dc5b8f5 View commit details
    Browse the repository at this point in the history
  17. 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]>
    dorisverria1 committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    aa7eb60 View commit details
    Browse the repository at this point in the history
  18. 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]>
    Inkane committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    5ba55ed View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2024

  1. 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]>
    ec1oud committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    78640ff View commit details
    Browse the repository at this point in the history
  2. 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 committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    7112674 View commit details
    Browse the repository at this point in the history
  3. 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 committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    afd65bf View commit details
    Browse the repository at this point in the history
  4. 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]>
    eskilblomfeldt committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    14299fe View commit details
    Browse the repository at this point in the history
  5. 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 committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    d551341 View commit details
    Browse the repository at this point in the history
  6. 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]>
    diseraluca-qt committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    c048f83 View commit details
    Browse the repository at this point in the history
  7. 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]>
    diseraluca-qt committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    98476d8 View commit details
    Browse the repository at this point in the history
  8. 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]>
    diseraluca-qt committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    83755ca View commit details
    Browse the repository at this point in the history
  9. Remove unused <iostream> header inclusion from qv4mm.cpp

    The header seems to be currently unused.
    
    Change-Id: I98967766ecf2c7a5b48dca7fb91a2f66d72223a6
    Reviewed-by: Fabian Kosmale <[email protected]>
    diseraluca-qt committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    09362fa View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. Add a Gauge how-to

    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]>
    mitchcurtis committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    baddb27 View commit details
    Browse the repository at this point in the history
  2. 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]>
    Inkane authored and Ulf Hermann committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    74416bf View commit details
    Browse the repository at this point in the history
  3. QmlCompiler: Fix a coverity warnign

    Clarify a type.
    
    Coverity-Id: 469550
    Change-Id: I2f307ef3d0c6a855bcb914094a3a9cd7dcd3038d
    Reviewed-by: Olivier De Cannière <[email protected]>
    Ulf Hermann committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    946faca View commit details
    Browse the repository at this point in the history
  4. 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 committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    6109304 View commit details
    Browse the repository at this point in the history
  5. 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 committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    4bc3911 View commit details
    Browse the repository at this point in the history
  6. 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]>
    ec1oud committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    4aa093b View commit details
    Browse the repository at this point in the history
  7. 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]>
    diseraluca-qt committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    20fc552 View commit details
    Browse the repository at this point in the history
  8. 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]>
    ASpoerl committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    9f16780 View commit details
    Browse the repository at this point in the history
  9. 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]>
    samishalayel committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    5fc2bfd View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2024

  1. 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 committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    9527ad1 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2024

  1. 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 committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    c181bf9 View commit details
    Browse the repository at this point in the history
  2. 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]>
    ec1oud authored and vohi committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    d4db7b9 View commit details
    Browse the repository at this point in the history
  3. 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 committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    f062cf2 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. 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]>
    alcazaco committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    252195e View commit details
    Browse the repository at this point in the history
  2. 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 committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    6911a76 View commit details
    Browse the repository at this point in the history
  3. 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 committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    a741271 View commit details
    Browse the repository at this point in the history
  4. 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]>
    aavit committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    226c212 View commit details
    Browse the repository at this point in the history
  5. tst_qv4mm: Avoid warnings in non-JIT build

    Change-Id: If3d1e61636b257a721ed7b22d57db1e3d9d11565
    Reviewed-by: Ulf Hermann <[email protected]>
    Inkane committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    012b77e View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. 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 committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    6cd2b33 View commit details
    Browse the repository at this point in the history
  2. 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]>
    alcazaco committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    e852293 View commit details
    Browse the repository at this point in the history
  3. 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 committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    60df796 View commit details
    Browse the repository at this point in the history
  4. 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 committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    88003c8 View commit details
    Browse the repository at this point in the history
  5. 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]>
    Petrivirkkunen committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    52e2166 View commit details
    Browse the repository at this point in the history
  6. 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]>
    alpqr committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    92fe495 View commit details
    Browse the repository at this point in the history
  7. 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 committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    0abdcda View commit details
    Browse the repository at this point in the history
  8. 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]>
    vohi committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    99a72a0 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. 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]>
    vohi committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    2d1d9d1 View commit details
    Browse the repository at this point in the history
  2. 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]>
    vohi committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    f254f34 View commit details
    Browse the repository at this point in the history
  3. 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 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    fa26df8 View commit details
    Browse the repository at this point in the history
  4. 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 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    097712a View commit details
    Browse the repository at this point in the history
  5. 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 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    848d3e6 View commit details
    Browse the repository at this point in the history
  6. 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]>
    Petrivirkkunen committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    8801e76 View commit details
    Browse the repository at this point in the history
  7. 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]>
    ec1oud committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    d758c34 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. 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]>
    alcroito committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    4cfac3f View commit details
    Browse the repository at this point in the history
  2. 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]>
    alcroito committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    e66da5f View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. 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]>
    QtDheeru committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    fbc473d View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2024

  1. 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]>
    ec1oud committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    696768f View commit details
    Browse the repository at this point in the history
  2. 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]>
    ec1oud committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    0acbcc1 View commit details
    Browse the repository at this point in the history
  3. 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 committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    adc90d3 View commit details
    Browse the repository at this point in the history
  4. 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 committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    5fddef9 View commit details
    Browse the repository at this point in the history
  5. 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]>
    Ulf Hermann authored and thiagomacieira committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    c27f7cb View commit details
    Browse the repository at this point in the history
  6. 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 committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    6396c5b View commit details
    Browse the repository at this point in the history
  7. 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 committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    cdcfed6 View commit details
    Browse the repository at this point in the history
  8. 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 committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    543b75f View commit details
    Browse the repository at this point in the history
  9. 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]>
    akforrest committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    adde115 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. 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]>
    torarnv committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    11deb42 View commit details
    Browse the repository at this point in the history
  2. 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]>
    ec1oud committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    ee3bfd7 View commit details
    Browse the repository at this point in the history
  3. 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]>
    ASpoerl authored and thiagomacieira committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    c9ed68c View commit details
    Browse the repository at this point in the history
  4. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    7633fb1 View commit details
    Browse the repository at this point in the history
  5. 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]>
    mitchcurtis committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    c71e895 View commit details
    Browse the repository at this point in the history
  6. 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]>
    mitchcurtis committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    6ce0dc4 View commit details
    Browse the repository at this point in the history
  7. 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]>
    mitchcurtis committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    9ed0422 View commit details
    Browse the repository at this point in the history
  8. 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]>
    ec1oud committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    0a23056 View commit details
    Browse the repository at this point in the history
  9. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    7f58f05 View commit details
    Browse the repository at this point in the history
  10. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    e64d5fa View commit details
    Browse the repository at this point in the history
  11. 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]>
    alcazaco committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    3669883 View commit details
    Browse the repository at this point in the history
  12. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    95b0397 View commit details
    Browse the repository at this point in the history
  13. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    37c525c View commit details
    Browse the repository at this point in the history
  14. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    5789464 View commit details
    Browse the repository at this point in the history
  15. 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]>
    vohi committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    4d52e30 View commit details
    Browse the repository at this point in the history
  16. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    5893b98 View commit details
    Browse the repository at this point in the history
  17. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    b248d28 View commit details
    Browse the repository at this point in the history
  18. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    a24baed View commit details
    Browse the repository at this point in the history
  19. 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 committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    fee2e96 View commit details
    Browse the repository at this point in the history
  20. 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]>
    kapinter committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    9acb78d View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. 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]>
    mitchcurtis committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    200d38a View commit details
    Browse the repository at this point in the history
  2. QtQml: Skip floodTypeLoaderEventQueue() test

    It crashes on the CI.
    
    Change-Id: I6e9c14364e34d9934c0b75e6f5ddb5fd3034ec09
    Reviewed-by: Fabian Kosmale <[email protected]>
    Ulf Hermann committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    27e9544 View commit details
    Browse the repository at this point in the history
  3. 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]>
    Inkane committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    c92b677 View commit details
    Browse the repository at this point in the history
  4. 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]>
    Inkane authored and Ulf Hermann committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    bbcd2b7 View commit details
    Browse the repository at this point in the history
  5. QQmlPropertyCache: conclude matching the meta object revision update

    Change-Id: I8a96935cf6c742259c9dfffd17ea2bc4f44d80c6
    Reviewed-by: Ulf Hermann <[email protected]>
    Reviewed-by: Fabian Kosmale <[email protected]>
    thiagomacieira authored and Ulf Hermann committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    db978cb View commit details
    Browse the repository at this point in the history
  6. 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]>
    Inkane committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    8c6511d View commit details
    Browse the repository at this point in the history
  7. Update dependencies on 'dev' in qt/qtdeclarative

    Change-Id: I121fee53a0d4d7b87efcefec59ea32ce47cf6365
    Reviewed-by: Qt Submodule Update Bot <[email protected]>
    Qt Submodule Update Bot committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    a4a9022 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. 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]>
    torarnv committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    d59c9d6 View commit details
    Browse the repository at this point in the history
  2. 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]>
    torarnv committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    a398101 View commit details
    Browse the repository at this point in the history
  3. 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]>
    vohi committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    22bc4a4 View commit details
    Browse the repository at this point in the history
  4. 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 committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    dc9a646 View commit details
    Browse the repository at this point in the history
  5. 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]>
    dilekakcaay committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    6d921e2 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2024

  1. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    a68c363 View commit details
    Browse the repository at this point in the history
  2. 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]>
    samishalayel committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    f4e2177 View commit details
    Browse the repository at this point in the history
  3. 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]>
    samishalayel committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    b027c76 View commit details
    Browse the repository at this point in the history
  4. 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]>
    samishalayel committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    340bbe5 View commit details
    Browse the repository at this point in the history
  5. Add missing includes

    ...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]>
    Inkane committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    82971e7 View commit details
    Browse the repository at this point in the history
  6. 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]>
    Inkane committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    cfd7198 View commit details
    Browse the repository at this point in the history
  7. 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]>
    alcroito committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    5266fc8 View commit details
    Browse the repository at this point in the history
  8. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    72bf928 View commit details
    Browse the repository at this point in the history
  9. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    abee70a View commit details
    Browse the repository at this point in the history
  10. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    1c0c945 View commit details
    Browse the repository at this point in the history
  11. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    c2b0cc0 View commit details
    Browse the repository at this point in the history
  12. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    bb0aa09 View commit details
    Browse the repository at this point in the history
  13. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    e1c660d View commit details
    Browse the repository at this point in the history
  14. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    960ab0b View commit details
    Browse the repository at this point in the history
  15. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    6276d0d View commit details
    Browse the repository at this point in the history
  16. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    40a9651 View commit details
    Browse the repository at this point in the history
  17. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    46795bc View commit details
    Browse the repository at this point in the history
  18. 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]>
    Inkane authored and diseraluca-qt committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    d978f34 View commit details
    Browse the repository at this point in the history
  19. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    210288c View commit details
    Browse the repository at this point in the history
  20. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    8e3547f View commit details
    Browse the repository at this point in the history
  21. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    35630ee View commit details
    Browse the repository at this point in the history
  22. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    336f86d View commit details
    Browse the repository at this point in the history
  23. 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 committed Oct 24, 2024
    Configuration menu
    Copy the full SHA
    c4d3c0c View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. 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]>
    mitchcurtis committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    18a6a65 View commit details
    Browse the repository at this point in the history
  2. 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]>
    mitchcurtis committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    66008a3 View commit details
    Browse the repository at this point in the history
  3. 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]>
    aleixpol authored and Inkane committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    1bb076b View commit details
    Browse the repository at this point in the history
  4. 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]>
    alcroito committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    d18f6d6 View commit details
    Browse the repository at this point in the history
  5. 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 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    b5684d1 View commit details
    Browse the repository at this point in the history
  6. 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 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    3a3c72c View commit details
    Browse the repository at this point in the history
  7. 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]>
    Inkane committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    0675615 View commit details
    Browse the repository at this point in the history
  8. 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 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    459f1e4 View commit details
    Browse the repository at this point in the history
  9. 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]>
    samishalayel committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    27ee3aa View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2024

  1. 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]>
    VladimirBelyavsky authored and ec1oud committed Oct 26, 2024
    Configuration menu
    Copy the full SHA
    49fbf2f View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2024

  1. 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]>
    vkrause committed Oct 27, 2024
    Configuration menu
    Copy the full SHA
    5858116 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2024

  1. Tweak svg manual test

    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 committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    c7dc9db View commit details
    Browse the repository at this point in the history
  2. 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]>
    alcroito committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    b0f1ec4 View commit details
    Browse the repository at this point in the history
  3. 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]>
    samishalayel committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    31fbe8a View commit details
    Browse the repository at this point in the history
  4. 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]>
    samishalayel committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    9e65c4b View commit details
    Browse the repository at this point in the history
  5. 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]>
    samishalayel committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    59f3dad View commit details
    Browse the repository at this point in the history
  6. 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]>
    samishalayel committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    f33e26d View commit details
    Browse the repository at this point in the history
  7. 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]>
    samishalayel committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    42856ea View commit details
    Browse the repository at this point in the history
  8. 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 committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    711bb5a View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2024

  1. 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]>
    QtDheeru committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    fb3580a View commit details
    Browse the repository at this point in the history
  2. 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]>
    Petrivirkkunen committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    385e502 View commit details
    Browse the repository at this point in the history
  3. 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]>
    lugerard committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    49eacf9 View commit details
    Browse the repository at this point in the history
  4. 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]>
    samishalayel committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    282add1 View commit details
    Browse the repository at this point in the history
  5. 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 committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    6ee7100 View commit details
    Browse the repository at this point in the history
  6. 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 committed Oct 29, 2024
    Configuration menu
    Copy the full SHA
    01de987 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2024

  1. 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]>
    ec1oud committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    314bdef View commit details
    Browse the repository at this point in the history
  2. Update dependencies on 'dev' in qt/qtdeclarative

    Change-Id: Ie7d6860a73099cb229c39bddb745b92e019c70b4
    Reviewed-by: Qt Submodule Update Bot <[email protected]>
    Qt Submodule Update Bot committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    5d02d92 View commit details
    Browse the repository at this point in the history
  3. 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]>
    eskilblomfeldt authored and Ivan Solovev committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    bd50c6b View commit details
    Browse the repository at this point in the history
  4. 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]>
    Inkane committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    a4bbadc View commit details
    Browse the repository at this point in the history
  5. 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]>
    Issam-b committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    116ec82 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2024

  1. 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]>
    VladimirBelyavsky committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    00f58f2 View commit details
    Browse the repository at this point in the history
  2. 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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    660fc8f View commit details
    Browse the repository at this point in the history
  3. 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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    ee5c015 View commit details
    Browse the repository at this point in the history
  4. 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]>
    Inkane committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    61aae86 View commit details
    Browse the repository at this point in the history
  5. 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]>
    samishalayel committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    f88e649 View commit details
    Browse the repository at this point in the history
  6. 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]>
    samishalayel committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    e169034 View commit details
    Browse the repository at this point in the history
  7. 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]>
    vohi committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    9d3488b View commit details
    Browse the repository at this point in the history
  8. 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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    6b75bc1 View commit details
    Browse the repository at this point in the history
  9. 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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    373cf5e View commit details
    Browse the repository at this point in the history
  10. 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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    d61c0ce View commit details
    Browse the repository at this point in the history
  11. AnimateColor support

    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]>
    eskilblomfeldt authored and Ivan Solovev committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    259ad59 View commit details
    Browse the repository at this point in the history
  12. Android: remove packagingOptions.jniLibs.useLegacyPackaging property

    This is not needed after 0db5b424cdaede8724886e8a1eda1380382d9aaf.
    
    Change-Id: Ic5fc2bccf260cfdc159212324fb066d9137753c0
    Reviewed-by: Petri Virkkunen <[email protected]>
    Issam-b committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    88660cd View commit details
    Browse the repository at this point in the history
  13. Doc: Fix typo

    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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    bb00c71 View commit details
    Browse the repository at this point in the history
  14. 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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    2296fad View commit details
    Browse the repository at this point in the history
  15. 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 committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    0bde414 View commit details
    Browse the repository at this point in the history
  16. 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]>
    alcroito committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    69254df View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2024

  1. Adjust Menu shadow opacities

    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 committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    61082cc View commit details
    Browse the repository at this point in the history
  2. Update dependencies on 'dev' in qt/qtdeclarative

    Change-Id: Ife5ba2a26e5527140c3641a8189428238977c4d1
    Reviewed-by: Qt Submodule Update Bot <[email protected]>
    Qt Submodule Update Bot committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    3cef946 View commit details
    Browse the repository at this point in the history
  3. 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]>
    Inkane committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    3a6c2d9 View commit details
    Browse the repository at this point in the history
  4. 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]>
    jepasionQt committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    efb64be View commit details
    Browse the repository at this point in the history
  5. 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 committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    5b867e3 View commit details
    Browse the repository at this point in the history
  6. 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]>
    Inkane committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    85253df View commit details
    Browse the repository at this point in the history
  7. 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]>
    Inkane committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    aefdce8 View commit details
    Browse the repository at this point in the history
  8. 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]>
    eskilblomfeldt committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    b15bf90 View commit details
    Browse the repository at this point in the history
  9. Fix typo in js comment

    Corrected spelling of 'successful'
    
    Change-Id: I0a87313404333d84ad63029b86cdcea023c6d899
    Reviewed-by: Ulf Hermann <[email protected]>
    atsushi-yamamoto-signalslot committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    a906cfe View commit details
    Browse the repository at this point in the history
  10. Docs: Fix broken links in the Qml project

    Pick-to: 6.8
    Change-Id: I449cea89333cfcd8437ea423d69a6f264dfa33b4
    Reviewed-by: Sami Shalayel <[email protected]>
    alcazaco committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    8743a7a View commit details
    Browse the repository at this point in the history
  11. 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]>
    alcazaco committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    37928cf View commit details
    Browse the repository at this point in the history
  12. 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]>
    alcazaco committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    b8dfd44 View commit details
    Browse the repository at this point in the history
  13. Docs: Reorganize the qml tooling page

    Task-number: QTBUG-130111
    Pick-to: 6.8
    Change-Id: I4e6d9f35a12ec5c74625e955d40b80d470dd6253
    Reviewed-by: Mats Honkamaa <[email protected]>
    alcazaco committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    75ceedb View commit details
    Browse the repository at this point in the history
  14. 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 committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    c526026 View commit details
    Browse the repository at this point in the history
  15. 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 committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    db5f22d View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2024

  1. 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 committed Nov 3, 2024
    Configuration menu
    Copy the full SHA
    941b36a View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2024

  1. 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 committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    09f5197 View commit details
    Browse the repository at this point in the history
  2. 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 committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    318ac44 View commit details
    Browse the repository at this point in the history
  3. 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 committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    4dab304 View commit details
    Browse the repository at this point in the history
  4. 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 committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    6a3e771 View commit details
    Browse the repository at this point in the history
  5. sg: Limit buffer pool sizes

    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]>
    alpqr committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    9e696d5 View commit details
    Browse the repository at this point in the history
  6. 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]>
    andreaseliasson authored and ec1oud committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    555fda5 View commit details
    Browse the repository at this point in the history
  7. 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 committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    9fd43c2 View commit details
    Browse the repository at this point in the history
  8. 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]>
    samishalayel committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    9d79729 View commit details
    Browse the repository at this point in the history
  9. 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]>
    samishalayel committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    c4455f1 View commit details
    Browse the repository at this point in the history
  10. 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]>
    DocWicking committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    07ebdaf View commit details
    Browse the repository at this point in the history
  11. 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 committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    8c2fa03 View commit details
    Browse the repository at this point in the history
  12. 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 committed Nov 4, 2024
    Configuration menu
    Copy the full SHA
    892062a View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2024

  1. 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]>
    ec1oud committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    4cfce55 View commit details
    Browse the repository at this point in the history
  2. 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]>
    ec1oud committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    c36c688 View commit details
    Browse the repository at this point in the history
  3. 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]>
    lugerard committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    5993247 View commit details
    Browse the repository at this point in the history
  4. 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 committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    3e835c1 View commit details
    Browse the repository at this point in the history
  5. 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 committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    e97708d View commit details
    Browse the repository at this point in the history
  6. QmlDom. remove UpdatedScriptExpressions

    Removing now redundant DomType
    
    Change-Id: I06836dcc6e076bb29fddbb3f7251b5d9f4cbc786
    Reviewed-by: Ulf Hermann <[email protected]>
    Dmitrii Akshintsev committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    2824130 View commit details
    Browse the repository at this point in the history
  7. 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 committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    731e175 View commit details
    Browse the repository at this point in the history
  8. 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 committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    6a10b4d View commit details
    Browse the repository at this point in the history
  9. 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 committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    d02101f View commit details
    Browse the repository at this point in the history
  10. 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]>
    semlanik committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    93a856e View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2024

  1. 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]>
    VladimirBelyavsky committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    afe082d View commit details
    Browse the repository at this point in the history
  2. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    12e1284 View commit details
    Browse the repository at this point in the history
  3. Update dependencies on 'dev' in qt/qtdeclarative

    Change-Id: I7285055d42520b339f95e23e618f3e3b8461ebb8
    Reviewed-by: Qt Submodule Update Bot <[email protected]>
    Qt Submodule Update Bot committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    13113aa View commit details
    Browse the repository at this point in the history
  4. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    6ccdc18 View commit details
    Browse the repository at this point in the history
  5. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    9a64a5c View commit details
    Browse the repository at this point in the history
  6. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    05b7836 View commit details
    Browse the repository at this point in the history
  7. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    9ae34fc View commit details
    Browse the repository at this point in the history
  8. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    3acadcd View commit details
    Browse the repository at this point in the history
  9. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    7fcdc34 View commit details
    Browse the repository at this point in the history
  10. qmlls: fix qmlls crash

    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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    443a635 View commit details
    Browse the repository at this point in the history
  11. 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 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    b772c53 View commit details
    Browse the repository at this point in the history
  12. Remove unused include from "qv4sequenceobject.cpp"

    Change-Id: I65fe010323475b61fc71f20820c3e30c2ab93801
    Reviewed-by: Olivier De Cannière <[email protected]>
    diseraluca-qt committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    61e1e69 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2024

  1. 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 committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    32bf5c7 View commit details
    Browse the repository at this point in the history
  2. 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]>
    diseraluca-qt committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    4bb815e View commit details
    Browse the repository at this point in the history
  3. Fix TreeView cell edit

    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 committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    fdc2a05 View commit details
    Browse the repository at this point in the history
  4. 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 committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    b3e70d1 View commit details
    Browse the repository at this point in the history
  5. aotstats: Fix coverity warnings

    Coverity-Id: 469979
    Coverity-Id: 469980
    Change-Id: Ia26d66820b78a3ae9208c2a230bd2548fb9cbfc6
    Reviewed-by: Ulf Hermann <[email protected]>
    Olivier De Cannière committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    886da9f View commit details
    Browse the repository at this point in the history
  6. 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 committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    e156157 View commit details
    Browse the repository at this point in the history
  7. 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 committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    595abf2 View commit details
    Browse the repository at this point in the history
  8. 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 committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    1e02f01 View commit details
    Browse the repository at this point in the history
  9. Docs: Fix typo

    Pick-to: 6.8
    Fixes: QTBUG-130900
    Change-Id: I89ed8b8e75cc3401fa9b43277fce9e06c0e75549
    Reviewed-by: Andreas Eliasson <[email protected]>
    DocWicking committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    721ef67 View commit details
    Browse the repository at this point in the history
  10. DOM: Remove dead code

    Coverity-Id: 469981
    Change-Id: Ia69ad97306f63e0265a6b411646824fec90cc323
    Reviewed-by: Olivier De Cannière <[email protected]>
    Ulf Hermann committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    7ef96fc View commit details
    Browse the repository at this point in the history