diff --git a/src/corelib/kernel/qobjectdefs_impl.h b/src/corelib/kernel/qobjectdefs_impl.h index 72928f22359..e8dd262672e 100644 --- a/src/corelib/kernel/qobjectdefs_impl.h +++ b/src/corelib/kernel/qobjectdefs_impl.h @@ -388,7 +388,11 @@ namespace QtPrivate { }; template - using Callable = typename CallableHelper::Type; + struct Callable : CallableHelper::Type + {}; + template + struct Callable> : CallableHelper::Type + {}; /* Wrapper around ComputeFunctorArgumentCount and CheckCompatibleArgument, @@ -531,10 +535,7 @@ namespace QtPrivate { { using FunctorValue = std::decay_t; using Storage = QtPrivate::CompactStorage; - using FuncType = std::conditional_t, - QtPrivate::FunctionPointer, - QtPrivate::Functor - >; + using FuncType = Callable; #if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) Q_DECL_HIDDEN static void impl(int which, QSlotObjectBase *this_, QObject *r, void **a, bool *ret)