diff --git a/src/wayland/autotests/client/test_drag_drop.cpp b/src/wayland/autotests/client/test_drag_drop.cpp index 9478cb9a59..25422380ab 100644 --- a/src/wayland/autotests/client/test_drag_drop.cpp +++ b/src/wayland/autotests/client/test_drag_drop.cpp @@ -272,7 +272,8 @@ void TestDragAndDrop::testPointerDragAndDrop() // verify that we did not get any further input events QVERIFY(pointerMotionSpy.isEmpty()); - QCOMPARE(buttonPressSpy.count(), 1); + // the release event is sent primarily for xwayland + QCOMPARE(buttonPressSpy.count(), 2); } void TestDragAndDrop::testTouchDragAndDrop() @@ -530,8 +531,9 @@ void TestDragAndDrop::testPointerEventsIgnored() QCOMPARE(axisSpy.count(), 1); QCOMPARE(pointerMotionSpy.count(), 1); QCOMPARE(pointerEnteredSpy.count(), 1); - QCOMPARE(buttonSpy.count(), 1); QVERIFY(pointerLeftSpy.isEmpty()); + // the release event is sent primary for xwayland, see BUG 465444 + QCOMPARE(buttonSpy.count(), 2); } QTEST_GUILESS_MAIN(TestDragAndDrop) diff --git a/src/wayland/seat_interface.cpp b/src/wayland/seat_interface.cpp index 07693f205c..7732465a40 100644 --- a/src/wayland/seat_interface.cpp +++ b/src/wayland/seat_interface.cpp @@ -714,6 +714,7 @@ void SeatInterface::notifyPointerButton(quint32 button, PointerButtonState state // not our drag button - ignore return; } + d->pointer->sendButton(button, state, serial); d->endDrag(); return; }