Hi,
I'm getting the following error message from Qt5's port of Trojita:
QMetaType::registerType: Binary compatibility break -- Type flags for type
'QList<QSslError>' [1062] don't match. Previously registered TypeFlags(0x7),
now registering TypeFlags(0x107).
The backtrace leads back to the constructor of QNetworkAccessManager:
#4 0x00007fffed848fc1 in QMetaType::registerNormalizedType
(normalizedTypeName=..., deleter=0x7fffee597605
<QtMetaTypePrivate::QMetaTypeFunctionHelper<QList<QSslError>,
true>::Delete(void*)>, creator=0x7fffee597655
<QtMetaTypePrivate::QMetaTypeFunctionHelper<QList<QSslError>,
true>::Create(void const*)>,
destructor=0x7fffee5976d2
<QtMetaTypePrivate::QMetaTypeFunctionHelper<QList<QSslError>,
true>::Destruct(void*)>, constructor=0x7fffee59770f
<QtMetaTypePrivate::QMetaTypeFunctionHelper<QList<QSslError>,
true>::Construct(void*, void const*)>, size=8, flags=..., metaObject=0x0) at
kernel/qmetatype.cpp:652
#5 0x00007fffee596f71 in qRegisterNormalizedMetaType<QList<QSslError>
>(QByteArray const&, QList<QSslError>*,
QtPrivate::MetaTypeDefinedHelper<QList<QSslError>,
(QMetaTypeId2<QList<QSslError> >::Defined)&&(!(QMetaTypeId2<QList<QSslError>
>::IsBuiltIn))>::DefinedType) (normalizedTypeName=...,
dummy=0xffffffffffffffff,
defined=QtPrivate::MetaTypeDefinedHelper<QList<QSslError>, true>::Defined) at
../../include/QtCore/../../src/corelib/kernel/qmetatype.h:602
#6 0x00007fffee596873 in qRegisterMetaType<QList<QSslError> >(char const*,
QList<QSslError>*, QtPrivate::MetaTypeDefinedHelper<QList<QSslError>,
(QMetaTypeId2<QList<QSslError> >::Defined)&&(!(QMetaTypeId2<QList<QSslError>
>::IsBuiltIn))>::DefinedType) (typeName=0x7fffee692b87 "QList<QSslError>",
dummy=0xffffffffffffffff,
defined=QtPrivate::MetaTypeDefinedHelper<QList<QSslError>, true>::Defined) at
../../include/QtCore/../../src/corelib/kernel/qmetatype.h:618
#7 0x00007fffee5965c4 in QMetaTypeId<QList<QSslError> >::qt_metatype_id () at
../../include/QtNetwork/../../src/network/ssl/qsslsocket.h:227
#8 0x00007fffee5979f6 in QMetaTypeId2<QList<QSslError> >::qt_metatype_id () at
../../include/QtCore/../../src/corelib/kernel/qmetatype.h:534
#9 0x00007fffee5973a6 in qMetaTypeId<QList<QSslError> > () at
../../include/QtCore/../../src/corelib/kernel/qmetatype.h:643
#10 0x00007fffee596cde in qRegisterMetaType<QList<QSslError> > (dummy=0x0) at
../../include/QtCore/../../src/corelib/kernel/qmetatype.h:656
#11 0x00007fffee59b9ca in QNetworkAccessManager::QNetworkAccessManager
(this=0x555555b47530, parent=0x555555b4b7c0) at
access/qnetworkaccessmanager.cpp:415
#12 0x00005555556bda5b in
Imap::Network::MsgPartNetAccessManager::MsgPartNetAccessManager
(this=0x555555b47530, parent=0x555555b4b7c0) at
../../../../trojita/src/Imap/Network/MsgPartNetAccessManager.cpp:40
My code contains calls to:
qRegisterMetaType<QList<QSslError> >("QList<QSslError>");
There are no calls to Q_DELCARE_METATYPE or Q_DECLARE_TYPEINFO mentioning
QSslError or QList<QSslError> in my code.
According to the error message, the extra type flag being set is the
WasDeclaredAsMetaType (which is not documented in the docs available on the web
[1] for some reason). I won't pretend I understand the metatype system enough
to tell whether this particular flag shall be ignored or not. The weird thing
is that I recall that my code has worked at some time...
What should I do to restore functionality under Qt5?
With kind regards,
Jan
[1] http://qt-project.org/doc/qt-5.0/qtcore/qmetatype.html#TypeFlag-enum
--
Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest