summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qmetatype.cpp6
-rw-r--r--src/corelib/kernel/qmetatype.h3
2 files changed, 6 insertions, 3 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 4b441999a1..8f79bf5645 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -381,15 +381,15 @@ struct DefinedTypesFilter {
return a QMetaObject relative to this type.
- If the type is a pointer type to a subclass of QObject, flags contains
+ If the type is a pointer type to a subclass of QObject, flags() contains
QMetaType::PointerToQObject and this function returns the corresponding QMetaObject. This can
be used to in combinaison with QMetaObject::construct to create QObject of this type.
- If the type is a Q_GADGET, flags contains QMetaType::IsGadget, and this function returns its
+ If the type is a Q_GADGET, flags() contains QMetaType::IsGadget, and this function returns its
QMetaObject. This can be used to retrieve QMetaMethod and QMetaProperty and use them on a
pointer of this type. (given by QVariant::data for example)
- If the type is an enumaration, flags contains QMetaType::IsEnumeration, and this function
+ If the type is an enumeration, flags() contains QMetaType::IsEnumeration, and this function
returns the QMetaObject of the enclosing object if the enum was registered as a Q_ENUM or 0
otherwise
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index b743e78890..9659c015ff 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -1369,6 +1369,9 @@ namespace QtPrivate
template<typename T>
struct IsQEnumHelper {
static const T &declval();
+ // If the type was declared with Q_ENUM, the friend qt_getEnumMetaObject(T) declared in the
+ // Q_ENUM macro will be chosen by ADL, and the return type will be QMetaObject*.
+ // Otherwise the chosen overload will be qt_getEnumMetaObject(...) which returne 'char'
enum { Value = sizeof(qt_getEnumMetaObject(declval())) == sizeof(QMetaObject*) };
};