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-boun...@qt-project.org> On Behalf Of
Phil Thompson via Development
Sent: torsdag 3. oktober 2024 13:40
To: development@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@qt-project.org
https://lists.qt-project.org/listinfo/development
--
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to