From 161b72e43ddf281c8ea6d40e4e84abccc1897f52 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Thu, 18 Jun 2026 20:35:20 -0400 Subject: [PATCH] refactor: Use mutex to protect m_time in MSWindowsClipboard --- src/lib/platform/MSWindowsClipboard.cpp | 2 ++ src/lib/platform/MSWindowsClipboard.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/lib/platform/MSWindowsClipboard.cpp b/src/lib/platform/MSWindowsClipboard.cpp index bcee64b2af..9e4b9a57aa 100644 --- a/src/lib/platform/MSWindowsClipboard.cpp +++ b/src/lib/platform/MSWindowsClipboard.cpp @@ -125,6 +125,7 @@ bool MSWindowsClipboard::open(Time time) const for (int i = 0; i < kMaxRetries; ++i) { if (OpenClipboard(m_window)) { + std::scoped_lock lock{m_mutex}; m_time = time; return true; } @@ -147,6 +148,7 @@ void MSWindowsClipboard::close() const IClipboard::Time MSWindowsClipboard::getTime() const { + std::scoped_lock lock{m_mutex}; return m_time; } diff --git a/src/lib/platform/MSWindowsClipboard.h b/src/lib/platform/MSWindowsClipboard.h index c1c3557ac6..601a60b822 100644 --- a/src/lib/platform/MSWindowsClipboard.h +++ b/src/lib/platform/MSWindowsClipboard.h @@ -10,6 +10,7 @@ #include "deskflow/IClipboard.h" +#include #include #define WIN32_LEAN_AND_MEAN @@ -68,6 +69,7 @@ private: using ConverterList = std::vector; HWND m_window; + mutable std::mutex m_mutex; mutable Time m_time; ConverterList m_converters; static UINT s_ownershipFormat;