Change-Id: I979e7d9ca7152d4db6c3e7adae8353935a05d6c5
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
return m_toplevel_window;
}
+void WaylandCompositor::surfaceAboutToBeDestroyed(WaylandSurface *surface)
+{
+ Q_UNUSED(surface);
+}
+
Wayland::Compositor * WaylandCompositor::handle() const
{
return m_compositor;
QWindow *window()const;
virtual void surfaceCreated(WaylandSurface *surface) = 0;
+ virtual void surfaceAboutToBeDestroyed(WaylandSurface *surface);
Wayland::Compositor *handle() const;
m_dirty_surfaces.remove(surface);
if (m_directRenderSurface == surface)
setDirectRenderSurface(0);
+ waylandCompositor()->surfaceAboutToBeDestroyed(surface->waylandSurface());
}
void Compositor::markSurfaceAsDirty(Wayland::Surface *surface)
void destroy_surface(struct wl_resource *resource)
{
Surface *surface = wayland_cast<Surface *>((wl_surface *)resource);
+ surface->compositor()->surfaceDestroyed(surface);
delete surface;
}
Surface::~Surface()
{
- m_compositor->surfaceDestroyed(this);
delete m_waylandSurface;
}