Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
6.5
-
None
-
7deb49d886 (qt/qtbase/dev)
Description
Ran into this when running Qt Location examples against dev after the recent meta object changes. The following example asserts as well when making the connection:
#include <QObject> class Sender : public QObject { Q_OBJECT signals: void contentsChanged(const QImage &); }; class Receiver : public QObject { Q_OBJECT public slots: void updateContents(const QImage &img) { } }; int main(int argc, char *argv[]) { Sender sender; Receiver receiver; QObject::connect(&sender, SIGNAL(contentsChanged(QImage)), &receiver, SLOT(updateContents(QImage))); } #include "main.moc"
The assert is
ASSERT: "typeInfo & IsUnresolvedType || typeInfo == QMetaType::Void" in file /Users/vohi/qt/dev/qtbase/src/corelib/kernel/qmetaobject.cpp, line 1825
The problem is fixed by including QImage, or by explicitly calling qRegisterMetaType<QImage>("QImage") before making the connection.