diff --git a/src/wayland/test_seat.cpp b/src/wayland/test_seat.cpp index d5c6bb85cf..e37ce22f37 100644 --- a/src/wayland/test_seat.cpp +++ b/src/wayland/test_seat.cpp @@ -34,6 +34,7 @@ private Q_SLOTS: void testName(); void testPointerButton(); void testPointerPos(); + void testDestroyThroughTerminate(); }; static const QString s_socketName = QStringLiteral("kwin-wayland-server-seat-test-0"); @@ -157,5 +158,17 @@ void TestWaylandServerSeat::testPointerPos() QCOMPARE(posSpy.count(), 1); } +void TestWaylandServerSeat::testDestroyThroughTerminate() +{ + Display display; + display.setSocketName(s_socketName); + display.start(); + SeatInterface *seat = display.createSeat(); + QSignalSpy destroyedSpy(seat, SIGNAL(destroyed(QObject*))); + QVERIFY(destroyedSpy.isValid()); + display.terminate(); + QVERIFY(!destroyedSpy.isEmpty()); +} + QTEST_MAIN(TestWaylandServerSeat) #include "test_seat.moc"