diff options
Diffstat (limited to 'src/corelib/kernel/qapplicationstatic.h')
-rw-r--r-- | src/corelib/kernel/qapplicationstatic.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/corelib/kernel/qapplicationstatic.h b/src/corelib/kernel/qapplicationstatic.h index 1eadeb20e2..345a880748 100644 --- a/src/corelib/kernel/qapplicationstatic.h +++ b/src/corelib/kernel/qapplicationstatic.h @@ -11,6 +11,10 @@ #include <new> +#if 0 +#pragma qt_class(QApplicationStatic) +#endif + QT_BEGIN_NAMESPACE namespace QtGlobalStatic { @@ -50,7 +54,10 @@ template <typename QAS> struct ApplicationHolder QMutexLocker locker(&mutex); if (guard.loadRelaxed() == QtGlobalStatic::Uninitialized) { QAS::innerFunction(&storage); - QObject::connect(QCoreApplication::instance(), &QObject::destroyed, reset); + const auto *app = QCoreApplication::instance(); + Q_ASSERT_X(app, Q_FUNC_INFO, + "The application static was used without a QCoreApplication instance"); + QObject::connect(app, &QObject::destroyed, app, reset, Qt::DirectConnection); guard.storeRelease(QtGlobalStatic::Initialized); } return realPointer(); |