From 53749e2944052b2feddba305a097a38d9a7bca7b Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Fri, 25 May 2018 12:14:22 +0200 Subject: [PATCH] Client: Set unconfigured xdg surfaces (v6) as not exposed Previously, isExposed would always return true, which resulted in a wl_egl_window being created and an illegal attach and commit occurring. i.e. protocol errors such as: zxdg_surface_v6@15: error 3: xdg_surface has never been configured Change-Id: I277c65d663cfed0fe436a128fe1963d138f01c87 Reviewed-by: Paul Olav Tvete Reviewed-by: David Edmundson --- .../plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6_p.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/platforms/wayland/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6_p.h b/src/plugins/platforms/wayland/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6_p.h index 574e6dd9fb2..a2d19447128 100644 --- a/src/plugins/platforms/wayland/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6_p.h +++ b/src/plugins/platforms/wayland/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6_p.h @@ -86,6 +86,7 @@ public: void setAppId(const QString &appId) override; void setType(Qt::WindowType type, QWaylandWindow *transientParent) override; + bool isExposed() const override { return m_configured; } bool handleExpose(const QRegion &) override; bool handlesActiveState() const { return m_toplevel; } void applyConfigure() override;