From 9aa5f633d4ec77c7f5ecea2254bcf398ef02bfb9 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Mon, 11 Nov 2024 09:53:00 +0100 Subject: [PATCH] MockCompositor: Fix potential race condition The list m_viewports is being accessed from both the main thread and the dispatch thread. This has not been observed to cause any errors, but is a potential source of test instability. Using a DirectConnection makes sure that both appending and removal happens in the same thread. Task-number: QTBUG-130627 Pick-to: 6.8 Change-Id: Iee6941d8794119e679a485778f0be5c40df27069 Reviewed-by: David Edmundson --- tests/auto/wayland/shared/viewport.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/wayland/shared/viewport.cpp b/tests/auto/wayland/shared/viewport.cpp index df6bbb336de..da00a5b6a0e 100644 --- a/tests/auto/wayland/shared/viewport.cpp +++ b/tests/auto/wayland/shared/viewport.cpp @@ -16,7 +16,7 @@ void Viewporter::wp_viewporter_get_viewport(Resource *resource, uint32_t id, wl_ auto *viewport = new Viewport(s, resource->client(), id, resource->version()); connect(viewport, &QObject::destroyed, this, [this, viewport]() { m_viewports.removeOne(viewport); - }); + }, Qt::DirectConnection); m_viewports << viewport; }