Skip to content

Commit 363c9ab

Browse files
naufraghiec1oud
authored andcommitted
Identify XButton1|2 release events when mouse is moving.
X11 has no special state for XButton1 and XButton2, so we need to look at the global `mouseButtonState` and restore the buttons after a mouse move. Task-number: QTBUG-40148 Change-Id: I789f32b344cf7902b1c7aa6b7da7f20f32602be2 Reviewed-by: Alexander Volkov <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]>
1 parent ab3c645 commit 363c9ab

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/gui/kernel/qapplication_x11.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4189,6 +4189,12 @@ static Qt::MouseButtons translateMouseButtons(int s)
41894189
ret |= Qt::MidButton;
41904190
if (s & Button3Mask)
41914191
ret |= Qt::RightButton;
4192+
// X11 has no special state for XButton1 and XButton2, so we need to use
4193+
// the global state maintained between press and release.
4194+
if (mouseButtonState.testFlag(Qt::XButton1))
4195+
ret |= Qt::XButton1;
4196+
if (mouseButtonState.testFlag(Qt::XButton2))
4197+
ret |= Qt::XButton2;
41924198
return ret;
41934199
}
41944200

0 commit comments

Comments
 (0)