I have a multi-thread Qt program where the Qt sometimes give a warning:
Type conversion already registered from type QPair<QByteArray,QByteArray> to type QtMetaTypePrivate::QPairVariantInterfaceImpl
Type conversion already registered from type QPair<QByteArray,QByteArray> to type QtMetaTypePrivate::QPairVariantInterfaceImpl
To copy to clipboard, switch view to plain text mode
I have found the warning is from this Qt’s function:
bool QMetaType::registerConverterFunction(QtPrivate
::AbstractConverterFunction *f,
int from,
int to
) {
if (!customTypesConversionRegistry()->insertIfNotContains(from, to, f)) {
qWarning("Type conversion already registered from type %s to type %s",
if (f)
f->destroy(f);
return false;
}
return true;
}
bool QMetaType::registerConverterFunction(QtPrivate::AbstractConverterFunction *f, int from, int to)
{
if (!customTypesConversionRegistry()->insertIfNotContains(from, to, f)) {
qWarning("Type conversion already registered from type %s to type %s",
QMetaType::typeName(from), QMetaType::typeName(to));
if (f)
f->destroy(f);
return false;
}
return true;
}
To copy to clipboard, switch view to plain text mode
I have checked my own code, nobody is calling this function, so it must be inside Qt’s own function. Could any one give me a hint what’s causing this issue or which function actually called the above function inside Qt’s code. I am using Qt 5.3.2. I wonder whether this could be a Qt’s bug instead of mine?
Bookmarks