summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/tools/moc/moc.cpp3
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp4
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 {};