<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/tests/auto/qml/qqmllanguage, 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>Revert "QtQml: Store enum values in QV4::Value"</title>
<updated>2026-05-07T11:50:46+00:00</updated>
<author>
<name>Olivier De Cannière</name>
<email>olivier.decanniere@qt.io</email>
</author>
<published>2026-05-06T09:58:03+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=546b76044f71e9a482e717f0cd44533e5ec5a9b8'/>
<id>546b76044f71e9a482e717f0cd44533e5ec5a9b8</id>
<content type='text'>
This reverts commit e035c8adf2d1c7ef6d152c377994df1acc162975.

Reason for revert: Breaks enum value to int conversion

---

enum E { V = 0xFFFF'FFFF };
Q_ENUM(E)

Without patch:
console.log(E.V) -&gt; -1

With patch:
console.log(E.V) -&gt; -1
console.log(E.V) -&gt; 4294967295 (QV4_FORCE_INTERPRETER=1)

Fixes: QTBUG-146583
Change-Id: Idd6c21abeb791d568fd3982b4f1dc570d1020741
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit e035c8adf2d1c7ef6d152c377994df1acc162975.

Reason for revert: Breaks enum value to int conversion

---

enum E { V = 0xFFFF'FFFF };
Q_ENUM(E)

Without patch:
console.log(E.V) -&gt; -1

With patch:
console.log(E.V) -&gt; -1
console.log(E.V) -&gt; 4294967295 (QV4_FORCE_INTERPRETER=1)

Fixes: QTBUG-146583
Change-Id: Idd6c21abeb791d568fd3982b4f1dc570d1020741
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQml: Store enum values in QV4::Value</title>
<updated>2026-04-21T05:43:10+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-03-27T10:24:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e035c8adf2d1c7ef6d152c377994df1acc162975'/>
<id>e035c8adf2d1c7ef6d152c377994df1acc162975</id>
<content type='text'>
This allows up to 53bit integers to be accurately represented. That's
better than the previous 32bit, but still not the full 64bit range we
would like. (In fact you can represent even larger numbers if no two set
bits are further than 53 bits apart, but let's ignore that for now.)

Remove the misguided and now-dysfunctional optimization for enums from
the "Qt" namespace in qqmlcustomparser.cpp. Matching the namespace by
name is a bad idea since it's possible to shadow that name and there are
a few enum values in the "Qt" namespace that don't fit into int.

[ChangeLog][QtQml] The QML engine does not forcibly truncate enum values
to 32bit anymore. It instead stores them in the native JavaScript number
type, which is effectively C++ double. That means values up to 53bit can
be accurately represented. You should not expose enums larger than that
to QML. The enums you can define in QML remain unaffected. Those are
still capped to 32bit.

Task-number: QTBUG-145053
Change-Id: Ibcd54e1a6cdd7e3293977c9caaec92c2359ab1a2
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Thiago Macieira &lt;thiago.macieira@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows up to 53bit integers to be accurately represented. That's
better than the previous 32bit, but still not the full 64bit range we
would like. (In fact you can represent even larger numbers if no two set
bits are further than 53 bits apart, but let's ignore that for now.)

Remove the misguided and now-dysfunctional optimization for enums from
the "Qt" namespace in qqmlcustomparser.cpp. Matching the namespace by
name is a bad idea since it's possible to shadow that name and there are
a few enum values in the "Qt" namespace that don't fit into int.

[ChangeLog][QtQml] The QML engine does not forcibly truncate enum values
to 32bit anymore. It instead stores them in the native JavaScript number
type, which is effectively C++ double. That means values up to 53bit can
be accurately represented. You should not expose enums larger than that
to QML. The enums you can define in QML remain unaffected. Those are
still capped to 32bit.

Task-number: QTBUG-145053
Change-Id: Ibcd54e1a6cdd7e3293977c9caaec92c2359ab1a2
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Thiago Macieira &lt;thiago.macieira@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQmlVMEMetaObject: Guard against null target in deep alias tryConnect</title>
<updated>2026-04-15T12:17:00+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-04-13T11:31:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c5bb2716bc457f85c0fda180b52dd8b56f52ba47'/>
<id>c5bb2716bc457f85c0fda180b52dd8b56f52ba47</id>
<content type='text'>
In QQmlVMEMetaObjectEndpoint::tryConnect(), the deep alias code path
reads the intermediate object via QMetaObject::metacall(ReadProperty).
If that intermediate object property hasn't been initialized yet (e.g.
during object construction ordering), the ReadProperty call writes null
into the target pointer. The subsequent connect() call then crashes
trying to use the null target.

Add a null check after the ReadProperty metacall and return early if
the target resolved to null. This avoids the crash and leaves the
endpoint unconnected (tag not set to EndPointIsConnected), so it can
be retried on a subsequent notification.

Pick-to: 6.11 6.8
Fixes: QTBUG-143361
Change-Id: I4d103cdf9d81e933afeb46c4b6a186ee4433cb35
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In QQmlVMEMetaObjectEndpoint::tryConnect(), the deep alias code path
reads the intermediate object via QMetaObject::metacall(ReadProperty).
If that intermediate object property hasn't been initialized yet (e.g.
during object construction ordering), the ReadProperty call writes null
into the target pointer. The subsequent connect() call then crashes
trying to use the null target.

Add a null check after the ReadProperty metacall and return early if
the target resolved to null. This avoids the crash and leaves the
endpoint unconnected (tag not set to EndPointIsConnected), so it can
be retried on a subsequent notification.

Pick-to: 6.11 6.8
Fixes: QTBUG-143361
Change-Id: I4d103cdf9d81e933afeb46c4b6a186ee4433cb35
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qml parser: Print better error message when using reserved identifiers</title>
<updated>2026-03-17T18:27:44+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2026-03-03T09:43:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e1f6c59647b3fb89f46697c218fa76bdde279a13'/>
<id>e1f6c59647b3fb89f46697c218fa76bdde279a13</id>
<content type='text'>
If we expect a QML identifier, and the user gives us a reserved keyword,
we can tell them as much, instead of completely failing parsing with a
hard-to-decipher error message.

For now, we don't attempt to recover from the parser error in the
linter/LSP. We could however most likely continue further semantic
analysis, by treating the reserved word as a normal identifier. That
might however lead to some confusing errors in other contexts, and is
therefore avoided for now.

Pick-to: 6.11
Fixes: QTBUG-144691
Change-Id: I9090ef1e4984e5c1d223b6df58f543bdb31e83c6
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we expect a QML identifier, and the user gives us a reserved keyword,
we can tell them as much, instead of completely failing parsing with a
hard-to-decipher error message.

For now, we don't attempt to recover from the parser error in the
linter/LSP. We could however most likely continue further semantic
analysis, by treating the reserved word as a normal identifier. That
might however lead to some confusing errors in other contexts, and is
therefore avoided for now.

Pick-to: 6.11
Fixes: QTBUG-144691
Change-Id: I9090ef1e4984e5c1d223b6df58f543bdb31e83c6
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Olivier De Cannière &lt;olivier.decanniere@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQml: Don't crash when trying to remove a binding from an ID alias</title>
<updated>2026-03-06T16:52:04+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-03-05T14:18:04+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c61755573f8e457a51471a1a984df51e651bed3e'/>
<id>c61755573f8e457a51471a1a984df51e651bed3e</id>
<content type='text'>
Aliases can point to IDs. You can't have bindings on plain IDs.
Therefore, removing a binding from such an alias is a noop.

Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-124476
Change-Id: I6ac49bea025c9c5a72485130831cdbdbe0237ec3
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Aliases can point to IDs. You can't have bindings on plain IDs.
Therefore, removing a binding from such an alias is a noop.

Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-124476
Change-Id: I6ac49bea025c9c5a72485130831cdbdbe0237ec3
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix default alias property after alias sorting</title>
<updated>2026-03-04T19:25:45+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2026-03-04T07:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5b775e96c067995bf21cdf5a3641c50d5b7b272d'/>
<id>5b775e96c067995bf21cdf5a3641c50d5b7b272d</id>
<content type='text'>
When we reorder aliases topologically, we need to also update the
indexOfDefaultPropertyOrAlias, as that could otherwise point to the
wrong alias.
Amends 2dc11fd23c4607174878af6025b84ba5052650b8, which introduced the
topological alias sort to fix a crash.

Fixes: QTBUG-144701
Pick-to: 6.11 6.10 6.11.0 6.10.3
Change-Id: Icf733ca954ab346be9b94157a179a2c46439692d
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we reorder aliases topologically, we need to also update the
indexOfDefaultPropertyOrAlias, as that could otherwise point to the
wrong alias.
Amends 2dc11fd23c4607174878af6025b84ba5052650b8, which introduced the
topological alias sort to fix a crash.

Fixes: QTBUG-144701
Pick-to: 6.11 6.10 6.11.0 6.10.3
Change-Id: Icf733ca954ab346be9b94157a179a2c46439692d
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQml: Resolve deep aliases via property type, not just bindings</title>
<updated>2026-03-03T23:03:41+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-02-20T13:28:25+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=efc0c9377aea87434623ecaec76de26019c1c8c0'/>
<id>efc0c9377aea87434623ecaec76de26019c1c8c0</id>
<content type='text'>
resolveDeepAlias() previously only searched the target object's
bindings and aliases to find the sub-property for a deep alias
like 'alias foo: target.groupProp.innerProp'. This failed when
'groupProp' had no inline binding in the document.

Fall back to looking up the sub-property on the declared type's
property cache (via QQmlMetaType::propertyCacheForType) when no
binding or alias match is found.

Apply the same fix to the CompilationUnit specialization in
qqmltypedata.cpp.

Fixes: QTBUG-130605
Change-Id: I7f4d1c9af951c4059ce216f66d5f01d4c1757536
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
resolveDeepAlias() previously only searched the target object's
bindings and aliases to find the sub-property for a deep alias
like 'alias foo: target.groupProp.innerProp'. This failed when
'groupProp' had no inline binding in the document.

Fall back to looking up the sub-property on the declared type's
property cache (via QQmlMetaType::propertyCacheForType) when no
binding or alias match is found.

Apply the same fix to the CompilationUnit specialization in
qqmltypedata.cpp.

Fixes: QTBUG-130605
Change-Id: I7f4d1c9af951c4059ce216f66d5f01d4c1757536
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQmlIntegration: reimplement the detectors for the QML_ macros</title>
<updated>2026-02-26T11:28:41+00:00</updated>
<author>
<name>Giuseppe D'Angelo</name>
<email>giuseppe.dangelo@kdab.com</email>
</author>
<published>2026-02-24T16:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7e02a743f40417172df682e929282c6abbcf45fa'/>
<id>7e02a743f40417172df682e929282c6abbcf45fa</id>
<content type='text'>
There's a number of detectors in the QQmlPrivate namespace, each one
meant to detect the presence of a specific QML_ macro (e.g. QML_FOREIGN,
QML_EXTENDED, and so on). The detectors work by detecting the presence
of some enumeration value, function, etc. injected by the expansion of
those macros in a class.

Since the macros may generally expand in a private: section of a class,
the macros also befriend the detector classes; otherwise the detection
would fail due to the detector being unable to access the
enumeration/etc.

This should work in principle, but there's a problem with the specific
implementation: it uses SFINAE on the detector class itself via
(a small variation of) the usual pattern:

  template &lt;typename T, typename Enable = void&gt;
  struct Detector : std::false_type {}; /* primary */

  template &lt;typename T&gt;
  struct Detector&lt;T, std::void_t&lt;/* checks */&gt;&gt; : std::true_type {};

The problem here is that the checks are not necessarily carried with
Detector's own access priviliges. In particular it has been observed
that GCC &lt; 12 and MSVC fail the detection; it seems that the SFINAE is
getting evaluated with the privileges of whoever _uses_ the Detector
class, not of the class itself, making the befriending useless.

Therefore, the code employs a further workaround: the macros also
befriend the (only) usage point of the detectors, that is, the
qmlRegisterTypesAndRevisions function.

This approach seems to work, but it makes the detectors crippled /
creates technical debt. Indeed, an upcoming feature (uncreatable
singletons) attempted to use the detectors directly from some other
code, and the detectors (mysteriously) failed on those compilers.

This commit fixes the detectors so that they always work.
To do so, we're moving to "old school" SFINAE, where the detector
becomes

  template &lt;typename T&gt;
  struct Detector {
    template &lt;typename U&gt;
    static auto test(int) -&gt; /* some expression SFINAE yielding true_type */;

    template &lt;typename U&gt;
    static auto test(...) -&gt; false_type;

    static constexpr bool value = decltype(test&lt;U&gt;(0))::value;
  };

The whole point of this approach is to be well within Detector's scope
and therefore establish friendship, making the detection code work
reliably.

The friendship to qmlRegisterTypesAndRevisions can therefore be removed.

I've tried to minimize the refactorings necessary. The "old style"
SFINAE is indeed clumsier, and it shows. I don't quite understand
why the checks are slightly different between each other (instead of
e.g. just checking the presence of a inner type or constant), or why
some QML macros introduce unused declarations (e.g.
qt_qmlMarker_sequence), so I left them alone.

Change-Id: I618e8b7b4ad47dc22f9d61cce6addac00bf29dc6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's a number of detectors in the QQmlPrivate namespace, each one
meant to detect the presence of a specific QML_ macro (e.g. QML_FOREIGN,
QML_EXTENDED, and so on). The detectors work by detecting the presence
of some enumeration value, function, etc. injected by the expansion of
those macros in a class.

Since the macros may generally expand in a private: section of a class,
the macros also befriend the detector classes; otherwise the detection
would fail due to the detector being unable to access the
enumeration/etc.

This should work in principle, but there's a problem with the specific
implementation: it uses SFINAE on the detector class itself via
(a small variation of) the usual pattern:

  template &lt;typename T, typename Enable = void&gt;
  struct Detector : std::false_type {}; /* primary */

  template &lt;typename T&gt;
  struct Detector&lt;T, std::void_t&lt;/* checks */&gt;&gt; : std::true_type {};

The problem here is that the checks are not necessarily carried with
Detector's own access priviliges. In particular it has been observed
that GCC &lt; 12 and MSVC fail the detection; it seems that the SFINAE is
getting evaluated with the privileges of whoever _uses_ the Detector
class, not of the class itself, making the befriending useless.

Therefore, the code employs a further workaround: the macros also
befriend the (only) usage point of the detectors, that is, the
qmlRegisterTypesAndRevisions function.

This approach seems to work, but it makes the detectors crippled /
creates technical debt. Indeed, an upcoming feature (uncreatable
singletons) attempted to use the detectors directly from some other
code, and the detectors (mysteriously) failed on those compilers.

This commit fixes the detectors so that they always work.
To do so, we're moving to "old school" SFINAE, where the detector
becomes

  template &lt;typename T&gt;
  struct Detector {
    template &lt;typename U&gt;
    static auto test(int) -&gt; /* some expression SFINAE yielding true_type */;

    template &lt;typename U&gt;
    static auto test(...) -&gt; false_type;

    static constexpr bool value = decltype(test&lt;U&gt;(0))::value;
  };

The whole point of this approach is to be well within Detector's scope
and therefore establish friendship, making the detection code work
reliably.

The friendship to qmlRegisterTypesAndRevisions can therefore be removed.

I've tried to minimize the refactorings necessary. The "old style"
SFINAE is indeed clumsier, and it shows. I don't quite understand
why the checks are slightly different between each other (instead of
e.g. just checking the presence of a inner type or constant), or why
some QML macros introduce unused declarations (e.g.
qt_qmlMarker_sequence), so I left them alone.

Change-Id: I618e8b7b4ad47dc22f9d61cce6addac00bf29dc6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQml: Fix property cache ordering and alias-to-alias resolution</title>
<updated>2026-02-23T11:21:18+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-02-20T07:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=2dc11fd23c4607174878af6025b84ba5052650b8'/>
<id>2dc11fd23c4607174878af6025b84ba5052650b8</id>
<content type='text'>
We can have aliases of local aliases. In order to resolve those, we
need to:

1. Look at aliases in addition to properties when trying to find the
   target.
2. Sort the aliases topoligically so that when we try to resolve an
   alias-to-alias its dependency has been resolved already.

We have to append aliases to the property cache in the same order as
they appear in the compilation unit. There is other code that depends on
this.

Amends commit 75dcbb156b2b1dfe0bb43e3119735f26f848e0f6.
Amends commit 9e1378260a3f3a6eb4cad8d6ae47bc218e6a2b5f.

Pick-to: 6.11 6.10
Fixes: QTBUG-144327
Change-Id: Ia8c0a1b060cd4247af20961d349d86e49dd0c895
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can have aliases of local aliases. In order to resolve those, we
need to:

1. Look at aliases in addition to properties when trying to find the
   target.
2. Sort the aliases topoligically so that when we try to resolve an
   alias-to-alias its dependency has been resolved already.

We have to append aliases to the property cache in the same order as
they appear in the compilation unit. There is other code that depends on
this.

Amends commit 75dcbb156b2b1dfe0bb43e3119735f26f848e0f6.
Amends commit 9e1378260a3f3a6eb4cad8d6ae47bc218e6a2b5f.

Pick-to: 6.11 6.10
Fixes: QTBUG-144327
Change-Id: Ia8c0a1b060cd4247af20961d349d86e49dd0c895
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQmlComponent print column when reporting an error</title>
<updated>2026-02-16T13:29:42+00:00</updated>
<author>
<name>Dmitrii Akshintsev</name>
<email>dmitrii.akshintsev@qt.io</email>
</author>
<published>2025-12-03T17:57:27+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=cbddea294cad42a7880b61e8ddd31a5b860fa9f6'/>
<id>cbddea294cad42a7880b61e8ddd31a5b860fa9f6</id>
<content type='text'>
For quite a while the column number was missing when reporting a top
level error of the QQmlComponent. This patch fixes it.

Task-number: QTBUG-141950
Change-Id: Icc5bcf8b5f78d7a380b4effe20c5e5db646fbdc2
Pick-to: 6.11
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For quite a while the column number was missing when reporting a top
level error of the QQmlComponent. This patch fixes it.

Task-number: QTBUG-141950
Change-Id: Icc5bcf8b5f78d7a380b4effe20c5e5db646fbdc2
Pick-to: 6.11
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
