Skip to content

Commit f1d27b5

Browse files
Fix thread safety issue on mouse move event handling
Signed-off-by: Christian Parpart <[email protected]>
1 parent 8db3ce5 commit f1d27b5

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

metainfo.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
<li>Fixes `scripts/install-deps.sh` for openSuSE (Tumbleweed) to install the correct dependencies.</li>
115115
<li>Fixes missing dependencies for release .deb packages (#1397).</li>
116116
<li>Fixes legacy keyboard input protocol not reporting non-Alt modifier (#1411).</li>
117+
<li>Fixes thread safety issue on mouse move event handling (#1444).</li>
117118
<li>Digitally sign MacOS release binaries using a valid Apple ID.</li>
118119
<li>Add support for authenticating to SSH servers with a private key without a password and without requesting for one - also allow password retry (#1425).</li>
119120
<li>Default history limit is now 1000 lines rather than 0 lines.</li>

src/contour/TerminalSession.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -851,8 +851,11 @@ void TerminalSession::sendMouseMoveEvent(vtbackend::Modifiers modifiers,
851851

852852
terminal().tick(steady_clock::now());
853853

854-
auto constexpr UiHandledHint = false;
855-
terminal().sendMouseMoveEvent(modifiers, pos, pixelPosition, UiHandledHint);
854+
{
855+
auto const lock = std::lock_guard { _terminal };
856+
auto constexpr UiHandledHint = false;
857+
_terminal.sendMouseMoveEvent(modifiers, pos, pixelPosition, UiHandledHint);
858+
}
856859

857860
if (pos != _currentMousePosition)
858861
{

0 commit comments

Comments
 (0)