summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qapplicationstatic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qapplicationstatic.h')
-rw-r--r--src/corelib/kernel/qapplicationstatic.h9
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();