vcl/inc/svdata.hxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
New commits: commit 61a308be8d7e2a578054c3d6d540873eecc88145 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Aug 23 19:15:00 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sat Aug 26 08:18:30 2023 +0200 tsan: use std::atomic<bool> for mbAppQuit which is (IMO) the same as using volatile, but seems to make tsan happier Change-Id: I52024716ea75d7113357a169e225eee85cf22229 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156108 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx index 44ed38f2eb9d..104b9543b74a 100644 --- a/vcl/inc/svdata.hxx +++ b/vcl/inc/svdata.hxx @@ -47,6 +47,7 @@ #include "windowdev.hxx" #include "displayconnectiondispatch.hxx" +#include <atomic> #include <mutex> #include <optional> #include <vector> @@ -165,7 +166,7 @@ struct ImplSVAppData SystemWindowFlags mnSysWinMode = SystemWindowFlags(0); // Mode, when SystemWindows should be created bool mbInAppMain = false; // is Application::Main() on stack bool mbInAppExecute = false; // is Application::Execute() on stack - volatile bool mbAppQuit = false; // is Application::Quit() called, volatile because we read/write from different threads + std::atomic<bool> mbAppQuit = false; // is Application::Quit() called, volatile because we read/write from different threads bool mbSettingsInit = false; // true: Settings are initialized DialogCancelMode meDialogCancel = DialogCancelMode::Off; // true: All Dialog::Execute() calls will be terminated immediately with return false bool mbRenderToBitmaps = false; // set via svp / headless plugin