<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/tests/auto/quick/qquickdesignersupport, branch dev</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Replace QVector with QList</title>
<updated>2026-01-09T19:44:46+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2026-01-08T18:16:07+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=941445ba18c8003948dc9bb9e257114ca13e12fb'/>
<id>941445ba18c8003948dc9bb9e257114ca13e12fb</id>
<content type='text'>
Since QVector is just an alias, let's finally do what we could have
done for Qt 6.0.

Pick-to: 6.11
Change-Id: Ia9dbc8ecf4f099339cf7639acb22c14b24fa680b
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since QVector is just an alias, let's finally do what we could have
done for Qt 6.0.

Pick-to: 6.11
Change-Id: Ia9dbc8ecf4f099339cf7639acb22c14b24fa680b
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Qt::Qml before Qt::QmlPrivate to auto tests</title>
<updated>2024-10-21T22:27:15+00:00</updated>
<author>
<name>Karim Pinter</name>
<email>karim.pinter@qt.io</email>
</author>
<published>2024-10-09T07:59:43+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9acb78d01de674e45fb6640b6ef4ee797bf998c6'/>
<id>9acb78d01de674e45fb6640b6ef4ee797bf998c6</id>
<content type='text'>
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 &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>DesignerSupport: Build on QQmlOpenMetaObject</title>
<updated>2024-07-11T08:21:49+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2024-07-05T08:47:51+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=073243256110d5d5b428e105a8580d2c14a6a3d0'/>
<id>073243256110d5d5b428e105a8580d2c14a6a3d0</id>
<content type='text'>
If we assign a QQmlOpenMetaObject as QMetaObject to an object, we also
need to use it as the QDynamicMetaObjectData. Otherwise we get UB by
static_cast'ing to the wrong type. At that point, however, we can just
let QQmlDesignerMetaObject be a QQmlOpenMetaObject and save ourselves
quite a bit of hassle.

Some care need to be taken to ensure that we properly invalidate the
property cache in response to a createProperty call, just like we do in
createNewDynamicProperty.

As a side effect, we can re-use the property cache that
QQmlOpenMetaObject already maintains (when requested to do so) and
thereby prevent the property caches from going out of sync if some other
code makes the QQmlOpenMetaObject create a new property.

Original-patch-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Pick-to: 6.8 6.7
Fixes: QTBUG-126690
Change-Id: I2b00cd239820a6b8c7a17206ecafa5562302ed9e
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
Reviewed-by: Semih Yavuz &lt;semih.yavuz@qt.io&gt;
Reviewed-by: Tim Jenssen &lt;tim.jenssen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we assign a QQmlOpenMetaObject as QMetaObject to an object, we also
need to use it as the QDynamicMetaObjectData. Otherwise we get UB by
static_cast'ing to the wrong type. At that point, however, we can just
let QQmlDesignerMetaObject be a QQmlOpenMetaObject and save ourselves
quite a bit of hassle.

Some care need to be taken to ensure that we properly invalidate the
property cache in response to a createProperty call, just like we do in
createNewDynamicProperty.

As a side effect, we can re-use the property cache that
QQmlOpenMetaObject already maintains (when requested to do so) and
thereby prevent the property caches from going out of sync if some other
code makes the QQmlOpenMetaObject create a new property.

Original-patch-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Pick-to: 6.8 6.7
Fixes: QTBUG-126690
Change-Id: I2b00cd239820a6b8c7a17206ecafa5562302ed9e
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
Reviewed-by: Semih Yavuz &lt;semih.yavuz@qt.io&gt;
Reviewed-by: Tim Jenssen &lt;tim.jenssen@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQmlGadgetPtrWrapper: Consider QVariant as possible type</title>
<updated>2024-03-22T17:11:41+00:00</updated>
<author>
<name>Thomas Hartmann</name>
<email>thomas.hartmann@qt.io</email>
</author>
<published>2024-03-20T10:33:37+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c7995e6aa3643e5da76ae32ce1e1166fd6f81b0e'/>
<id>c7995e6aa3643e5da76ae32ce1e1166fd6f81b0e</id>
<content type='text'>
If the type is QVariant, we have to store and retrieve the member as-is,
instead of wrapping and unwrapping it.

Pick-to: 6.7
Fixes: QTBUG-123484
Change-Id: I01ac33158236b0f1082744aafa86108225b68392
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the type is QVariant, we have to store and retrieve the member as-is,
instead of wrapping and unwrapping it.

Pick-to: 6.7
Fixes: QTBUG-123484
Change-Id: I01ac33158236b0f1082744aafa86108225b68392
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct license for test files</title>
<updated>2024-02-27T09:32:21+00:00</updated>
<author>
<name>Lucie Gérard</name>
<email>lucie.gerard@qt.io</email>
</author>
<published>2024-02-22T14:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9c5fc883881799fa28cf74535351e76dcea10a0a'/>
<id>9c5fc883881799fa28cf74535351e76dcea10a0a</id>
<content type='text'>
According to QUIP-18 [1], all test files should be
LicenseRef-Qt-Commercial OR GPL-3.0-only

[1]: https://contribute.qt-project.org/quips/18

Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I26d72e8de04d4c7c57b3b7838af5d033265de5ba
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Kai Köhne &lt;kai.koehne@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to QUIP-18 [1], all test files should be
LicenseRef-Qt-Commercial OR GPL-3.0-only

[1]: https://contribute.qt-project.org/quips/18

Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I26d72e8de04d4c7c57b3b7838af5d033265de5ba
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Kai Köhne &lt;kai.koehne@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove remaining foreach in quick tests</title>
<updated>2023-08-23T13:30:11+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-08-07T08:36:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7cb7f6ab7f6fe91bee674085c6c198ed00fc376a'/>
<id>7cb7f6ab7f6fe91bee674085c6c198ed00fc376a</id>
<content type='text'>
Task-number: QTBUG-115808
Change-Id: I30c27cf9972257897f15d57d62ff05ad1028b35e
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Task-number: QTBUG-115808
Change-Id: I30c27cf9972257897f15d57d62ff05ad1028b35e
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark the module as free of Q_FOREACH, except where it isn't</title>
<updated>2023-08-17T16:04:35+00:00</updated>
<author>
<name>Marc Mutz</name>
<email>marc.mutz@qt.io</email>
</author>
<published>2023-08-06T15:03:37+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=8edbcdbeb49630c207f3111d24b9c9e07029e333'/>
<id>8edbcdbeb49630c207f3111d24b9c9e07029e333</id>
<content type='text'>
The density of Q_FOREACH uses is high here, too high for this author,
unfamiliar with this code, to tackle in a short amount of time. But
they're concentrated in just a few TUs, so pick a different strategy:

Mark the whole module with QT_NO_FOREACH, to prevent new uses from
creeping in, and whitelist the affected TUs by #undef'ing
QT_NO_FOREACH locally, at the top of each file. For TUs that are part
of a larger executable, this requires these files to be compiled
separately, so add them to NO_PCH_SOURCES (which implies
NO_UNITY_BUILD_SOURCES, too). Created QTBUG-115808 to keep track of
this.

Task-number: QTBUG-115808
Change-Id: I29c377f939e3d747e3ce72c224c4ee722df7a95d
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The density of Q_FOREACH uses is high here, too high for this author,
unfamiliar with this code, to tackle in a short amount of time. But
they're concentrated in just a few TUs, so pick a different strategy:

Mark the whole module with QT_NO_FOREACH, to prevent new uses from
creeping in, and whitelist the affected TUs by #undef'ing
QT_NO_FOREACH locally, at the top of each file. For TUs that are part
of a larger executable, this requires these files to be compiled
separately, so add them to NO_PCH_SOURCES (which implies
NO_UNITY_BUILD_SOURCES, too). Created QTBUG-115808 to keep track of
this.

Task-number: QTBUG-115808
Change-Id: I29c377f939e3d747e3ce72c224c4ee722df7a95d
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>CMake: Make quick tests standalone projects</title>
<updated>2023-07-05T10:34:11+00:00</updated>
<author>
<name>Alexandru Croitor</name>
<email>alexandru.croitor@qt.io</email>
</author>
<published>2023-06-29T16:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=03a0e06961e356daf926fd96d8675c4fb1379505'/>
<id>03a0e06961e356daf926fd96d8675c4fb1379505</id>
<content type='text'>
Add the boilerplate standalone test prelude to each test, so that they
can be opened with an IDE without the qt-cmake-standalone-test script,
but directly with qt-cmake or cmake.

Boilerplate was added using the follow script:
https://git.qt.io/alcroito/cmake_refactor

Manual adjustments were made where the code was inserted in the wrong
location.

Task-number: QTBUG-93020
Change-Id: I7854e7f015535a4835ce3daf816f7f33aa242c2a
Reviewed-by: Amir Masoud Abdol &lt;amir.abdol@qt.io&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the boilerplate standalone test prelude to each test, so that they
can be opened with an IDE without the qt-cmake-standalone-test script,
but directly with qt-cmake or cmake.

Boilerplate was added using the follow script:
https://git.qt.io/alcroito/cmake_refactor

Manual adjustments were made where the code was inserted in the wrong
location.

Task-number: QTBUG-93020
Change-Id: I7854e7f015535a4835ce3daf816f7f33aa242c2a
Reviewed-by: Amir Masoud Abdol &lt;amir.abdol@qt.io&gt;
Reviewed-by: Joerg Bornemann &lt;joerg.bornemann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Retire the qt_parse_all_arguments</title>
<updated>2023-01-20T15:40:42+00:00</updated>
<author>
<name>Amir Masoud Abdol</name>
<email>amirmasoudabdol@icloud.com</email>
</author>
<published>2023-01-11T17:48:07+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c2d37f964665bd647f3cd958502e8357f654f43f'/>
<id>c2d37f964665bd647f3cd958502e8357f654f43f</id>
<content type='text'>
Task-number: QTBUG-99238
Change-Id: Ia11c9cbd7c06347319ab3674ec0cd8da0214747e
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Task-number: QTBUG-99238
Change-Id: Ia11c9cbd7c06347319ab3674ec0cd8da0214747e
Reviewed-by: Alexandru Croitor &lt;alexandru.croitor@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Port from container::count() and length() to size()</title>
<updated>2022-10-07T21:38:48+00:00</updated>
<author>
<name>Marc Mutz</name>
<email>marc.mutz@qt.io</email>
</author>
<published>2022-10-05T05:29:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=958cd3ee1094a068b6d0ff27c73a4b3caff088ad'/>
<id>958cd3ee1094a068b6d0ff27c73a4b3caff088ad</id>
<content type='text'>
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:

  auto QtContainerClass = anyOf(
      expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
      expr(hasType(namedDecl(hasAnyName(&lt;classes&gt;)))).bind(o));
  makeRule(cxxMemberCallExpr(on(QtContainerClass),
                             callee(cxxMethodDecl(hasAnyName({"count", "length"),
                                                  parameterCountIs(0))))),
           changeTo(cat(access(o, cat("size"), "()"))),
           cat("use 'size()' instead of 'count()/length()'"))

a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.

Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:

  auto QtContainerClass = anyOf(
      expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
      expr(hasType(namedDecl(hasAnyName(&lt;classes&gt;)))).bind(o));
  makeRule(cxxMemberCallExpr(on(QtContainerClass),
                             callee(cxxMethodDecl(hasAnyName({"count", "length"),
                                                  parameterCountIs(0))))),
           changeTo(cat(access(o, cat("size"), "()"))),
           cat("use 'size()' instead of 'count()/length()'"))

a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.

Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
