summaryrefslogtreecommitdiffstats
path: root/src/corelib/animation/qabstractanimation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/animation/qabstractanimation.cpp')
-rw-r--r--src/corelib/animation/qabstractanimation.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp
index 17814c6756a..3507e4e6bc7 100644
--- a/src/corelib/animation/qabstractanimation.cpp
+++ b/src/corelib/animation/qabstractanimation.cpp
@@ -106,17 +106,16 @@
\sa direction
*/
-#include "qabstractanimation.h"
-#include "qanimationgroup.h"
-
-#include <QtCore/qdebug.h>
-
#include "qabstractanimation_p.h"
-#include <QtCore/qmath.h>
+#include <QtCore/qanimationgroup.h>
+#include <QtCore/qcoreapplication.h>
#include <QtCore/qcoreevent.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qmath.h>
#include <QtCore/qpointer.h>
#include <QtCore/qscopedvaluerollback.h>
+#include <QtCore/qthread.h>
#define DEFAULT_TIMER_INTERVAL 16
#define PAUSE_TIMER_COARSE_THRESHOLD 2000
@@ -199,6 +198,10 @@ QUnifiedTimer *QUnifiedTimer::instance(bool create)
if (create && !unifiedTimer) {
inst = new QUnifiedTimer;
unifiedTimer.reset(inst);
+ if (QThread::isMainThread()) {
+ connect(qApp, &QCoreApplication::aboutToQuit, inst,
+ []() { unifiedTimer.release()->deleteLater(); });
+ }
} else {
inst = unifiedTimer.get();
}