diff --git a/autotests/client/test_wayland_slide.cpp b/autotests/client/test_wayland_slide.cpp --- a/autotests/client/test_wayland_slide.cpp +++ b/autotests/client/test_wayland_slide.cpp @@ -170,6 +170,12 @@ QVERIFY(slideChanged.wait()); QCOMPARE(serverSurface->slideOnShowHide()->location(), KWayland::Server::SlideInterface::Location::Top); QCOMPARE(serverSurface->slideOnShowHide()->offset(), 15); + + // and destroy + QSignalSpy destroyedSpy(serverSurface->slideOnShowHide(), &QObject::destroyed); + QVERIFY(destroyedSpy.isValid()); + delete slide; + QVERIFY(destroyedSpy.wait()); } QTEST_GUILESS_MAIN(TestSlide) diff --git a/src/server/slide_interface.cpp b/src/server/slide_interface.cpp --- a/src/server/slide_interface.cpp +++ b/src/server/slide_interface.cpp @@ -148,7 +148,6 @@ static void commitCallback(wl_client *client, wl_resource *resource); static void setLocationCallback(wl_client *client, wl_resource *resource, uint32_t location); static void setOffsetCallback(wl_client *client, wl_resource *resource, int32_t offset); - static void releaseCallback(wl_client *client, wl_resource *resource); SlideInterface *q_func() { return reinterpret_cast(q); @@ -162,7 +161,7 @@ commitCallback, setLocationCallback, setOffsetCallback, - releaseCallback + resourceDestroyedCallback }; #endif @@ -188,13 +187,6 @@ p->pendingOffset = offset; } -void SlideInterface::Private::releaseCallback(wl_client *client, wl_resource *resource) -{ - Q_UNUSED(client) - Q_UNUSED(resource) - // TODO: implement -} - SlideInterface::Private::Private(SlideInterface *q, SlideManagerInterface *c, wl_resource *parentResource) : Resource::Private(q, c, parentResource, &org_kde_kwin_slide_interface, &s_interface) {