Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.4.1
-
None
-
Okay, I think using a delegating constructor that is actually possible now.
Description
The QQmlPropertyMap protected template constructor is defined as:
template<class DerivedType>
QQmlPropertyMap(DerivedType *derived, QObject *parentObj)
: QObject(*allocatePrivate(), parentObj)
Here, the result of allocatePrivate() dereferencing is of type QObjectPrivate, which has unstable ABI (i.e. its size can change).
So the code using this constructor (i.e. gsettings-qt does it) will break whenever QObjectPrivate changes, which is not ideal.
As Qt promises being binary compatible, such stuff should not be exposed in public headers.
Attachments
For Gerrit Dashboard: QTBUG-46433 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
199861,3 | Fix linking if apps using QQmlPropertyMap when using version scripts | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |