From 5f32c9edce208125f642c86a4bc9e73564386243 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 22 Feb 2023 17:38:37 -0800 Subject: tst_QTimer: suppress the cross-thread timer stopping warnings Both QTimer's and QObjectPrivate's destructors print a warning if the current object lives on another thread and has an active timer: QWARN : tst_QTimer::moveToThread() QObject::killTimer: Timers cannot be stopped from another thread QWARN : tst_QTimer::moveToThread() QObject::~QObject: Timers cannot be stopped from another thread This timer is used to ask the thread to quit, which in turn allows us to destroy this QObject without a cross-thread warning. Because it's already fired once and done its duty, we can make sure it's not active by simply making it single-shot. Pick-to: 6.4 6.5 Change-Id: Ieec322d73c1e40ad95c8fffd17465067b27c044b Reviewed-by: Edward Welbourne Reviewed-by: Marc Mutz --- tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'tests/auto/corelib/kernel/qtimer') diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp index 15e08a50a2..e2bde37a7e 100644 --- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp +++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp @@ -512,6 +512,7 @@ void tst_QTimer::moveToThread() #endif QTimer ti1; QTimer ti2; + ti1.setSingleShot(true); ti1.start(MOVETOTHREAD_TIMEOUT); ti2.start(MOVETOTHREAD_TIMEOUT); QVERIFY((ti1.timerId() & 0xffffff) != (ti2.timerId() & 0xffffff)); -- cgit v1.2.3