diff options
-rw-r--r-- | src/tools/moc/moc.cpp | 3 | ||||
-rw-r--r-- | tests/auto/tools/moc/tst_moc.cpp | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp index a9e33da01d..7300429fe0 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -140,7 +140,8 @@ bool Moc::parseClassHead(ClassDef *def) } } while (test(COMMA)); - if (knownGadgets.contains(def->superclassList.first().first)) { + if (!def->superclassList.isEmpty() + && knownGadgets.contains(def->superclassList.first().first)) { // Q_GADGET subclasses are treated as Q_GADGETs knownGadgets.insert(def->classname, def->qualified); knownGadgets.insert(def->qualified, def->qualified); diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp index 08dc9581e1..00e5c60b29 100644 --- a/tests/auto/tools/moc/tst_moc.cpp +++ b/tests/auto/tools/moc/tst_moc.cpp @@ -83,6 +83,10 @@ QT_USE_NAMESPACE template <bool b> struct QTBUG_31218 {}; struct QTBUG_31218_Derived : QTBUG_31218<-1<0> {}; +#if defined(Q_MOC_RUN) + class QTBUG_45790 : Bug() { }; +#endif + struct MyStruct {}; struct MyStruct2 {}; |