From 90dbb413bf78a86d8785e797df7b1558e72f99b8 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 12 Jun 2025 21:14:09 +0200 Subject: [PATCH] QCoreApplication: relax an atomic load in a Q_ASSERT() A Q_ASSERT() must not have side-effects, incl. ordering memory. So the implicit loadAcquire() was too strong. The code must also work with loadRelaxed(), so use that. Amends the start of the public history. Pick-to: 6.10 Change-Id: Ib94bd0989d1a358b552275dc3963b014e6e4c180 Reviewed-by: Thiago Macieira --- src/corelib/kernel/qcoreapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 38db0a0f39e..3f7564e785c 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -1951,7 +1951,7 @@ void QCoreApplication::removePostedEvents(QObject *receiver, int eventType) #ifdef QT_DEBUG if (receiver && eventType == 0) { - Q_ASSERT(!receiver->d_func()->postedEvents); + Q_ASSERT(!receiver->d_func()->postedEvents.loadRelaxed()); } #endif