void Compositor::closeWindowWithId(int winId) { qDebug() << Q_FUNC_INFO << "winId" << winId; CompositorWindow *window = mWindows.value(winId, 0); if (window && window->surface()) { QWaylandSurface *surface = window->surface(); if (window->checkIsAllowedToStay() || hasProcessMultipleWindows(surface->client()) || window->keepAlive()) { qDebug() << Q_FUNC_INFO << "Destroying surface and keeping client alive"; window->sendClose(); } else { qDebug() << Q_FUNC_INFO << "Closing client and destroying surface"; destroyClientForSurface(surface); } } }
void destroyClientForWindow(QVariant window) { WaylandSurface *surface = qobject_cast<WaylandSurfaceItem *>(qvariant_cast<QObject *>(window))->surface(); destroyClientForSurface(surface); }
void SystemCompositor::destroyClientForWindow(QVariant window) { QWaylandSurface *surface = qobject_cast<QWaylandSurfaceItem *>( qvariant_cast<QObject *>(window))->surface(); destroyClientForSurface(surface); }
void LipstickCompositor::closeClientForWindowId(int id) { LipstickCompositorWindow *window = m_mappedSurfaces.value(id, 0); if (window && window->surface()) destroyClientForSurface(window->surface()); }