[Development] Changed enum property behaviour in Qt v6.8
Phil Thompson
phil at riverbankcomputing.com
Thu Oct 3 14:06:08 CEST 2024
Yes, that's the change - commenting out the new test fixes the problem.
I am dynamically building the meta-object. You don't really build an
enum, you just provide a description of it to the meta-object. It would
be nice to be able to register an enum with the meta-type system
dynamically.
Phil
On 03/10/2024 12:51, Mårten Nordheim wrote:
> Hello!
>
> Do you mean this change?
> https://codereview.qt-project.org/c/qt/qtbase/+/559265
>
> If so, my bad!
> My motivation is described in the commit, but basically QtProtobuf is
> quite heavy on
> QMetaProperty usage, and trying to resolve the 'menum' was quite a
> bottleneck for
> properties that were not known as enums in the metatype system (and
> thus treated
> differently).
>
> When you say you are doing 'this' dynamically, do you mean building a
> meta-object?
> Or enum?
>
> Mårten
>
>> -----Original Message-----
>> From: Development <development-bounces at qt-project.org> On Behalf Of
>> Phil Thompson via Development
>> Sent: torsdag 3. oktober 2024 13:40
>> To: development at qt-project.org
>> Subject: [Development] Changed enum property behaviour in Qt v6.8
>>
>> Hi,
>>
>> Prior to Qt v6.8 it was possible to define a meta-object property with
>> an enum type where the enum was *not* registered with Q_ENUM and the
>> result of QMetaProperty::isEnumType() would be true.
>>
>> With v6.8 isEnumType() will return false. The change is the extra test
>> on the meta-type in the private QMetaProperty ctor. In this situation
>> the property does not have a valid meta-type and so the extra test
>> fails.
>>
>> What was the reasoning behind the change?
>>
>> The best solution would be to ensure the enum was registered with the
>> type system, however I am doing this dynamically (including building
>> the
>> whole meta-object) and so Q_ENUM is inappropriate and I'm not seeing
>> an
>> obvious alternative.
>>
>> Any help would be appreciated.
>>
>> Phil
>> --
>> Development mailing list
>> Development at qt-project.org
>> https://lists.qt-project.org/listinfo/development
More information about the Development
mailing list