diff --git a/src/qwaylandlayersurface.cpp b/src/qwaylandlayersurface.cpp index 9a78ec1..e43b938 100644 --- a/src/qwaylandlayersurface.cpp +++ b/src/qwaylandlayersurface.cpp @@ -79,9 +79,6 @@ QWaylandLayerSurface::QWaylandLayerSurface(QWaylandLayerShellIntegration *shell, QWaylandLayerSurface::~QWaylandLayerSurface() { - if (m_waitForSyncCallback) { - wl_callback_destroy(m_waitForSyncCallback); - } destroy(); } @@ -177,7 +174,6 @@ void QWaylandLayerSurface::setWindowGeometry(const QRect &geometry) size.setHeight(0); } set_size(size.width(), size.height()); - requestWaylandSync(); } bool QWaylandLayerSurface::requestActivate() @@ -228,34 +224,6 @@ void QWaylandLayerSurface::requestXdgActivationToken(quint32 serial) connect(tokenProvider, &QWaylandXdgActivationTokenV1::done, tokenProvider, &QObject::deleteLater); } -const wl_callback_listener QWaylandLayerSurface::syncCallbackListener = { - .done = [](void *data, struct wl_callback *callback, uint32_t time){ - Q_UNUSED(time); - wl_callback_destroy(callback); - QWaylandLayerSurface *layerSurface = static_cast(data); - layerSurface->m_waitForSyncCallback = nullptr; - layerSurface->sendExpose(); - } -}; - -void QWaylandLayerSurface::requestWaylandSync() -{ - if (m_waitForSyncCallback) { - return; - } - - m_waitForSyncCallback = wl_display_sync(m_window->display()->wl_display()); - wl_callback_add_listener(m_waitForSyncCallback, &syncCallbackListener, this); -} - -void QWaylandLayerSurface::handleWaylandSyncDone() -{ - if (!window()->isExposed()) { - return; - } - sendExpose(); -} - void QWaylandLayerSurface::sendExpose() { #if QT_VERSION < QT_VERSION_CHECK(6, 7, 0) diff --git a/src/qwaylandlayersurface_p.h b/src/qwaylandlayersurface_p.h index 42d9ccf..12c2644 100644 --- a/src/qwaylandlayersurface_p.h +++ b/src/qwaylandlayersurface_p.h @@ -30,7 +30,7 @@ public: bool isExposed() const override { - return m_configured && !m_waitForSyncCallback; + return m_configured; } void attachPopup(QtWaylandClient::QWaylandShellSurface *popup) override; @@ -63,9 +63,6 @@ private: bool m_configured = false; bool m_configuring = false; - - static const wl_callback_listener syncCallbackListener; - struct wl_callback *m_waitForSyncCallback = nullptr; }; }