void LipstickCompositor::surfaceAboutToBeDestroyed(QWaylandSurface *surface) { Q_ASSERT(surface); LipstickCompositorWindow *item = static_cast<LipstickCompositorWindow *>(surface->surfaceItem()); surface->setSurfaceItem(0); if (surface == m_fullscreenSurface) setFullscreenSurface(0); if (item) { int id = item->windowId(); int gc = ghostWindowCount(); m_mappedSurfaces.remove(item->windowId()); emit windowCountChanged(); emit windowRemoved(item); item->m_windowClosed = true; item->tryRemove(); if (gc != ghostWindowCount()) emit ghostWindowCountChanged(); windowRemoved(id); emit availableWinIdsChanged(); } }
void LipstickCompositor::surfaceUnmapped(QWaylandSurface *surface) { if (surface == m_fullscreenSurface) setFullscreenSurface(0); LipstickCompositorWindow *window = static_cast<LipstickCompositorWindow *>(surface->surfaceItem()); if (window) emit windowHidden(window); }
void LipstickCompositor::surfaceUnmapped(QWaylandSurface *surface) { if (surface == m_fullscreenSurface) setFullscreenSurface(0); LipstickCompositorWindow *window = static_cast<LipstickCompositorWindow *>(surface->surfaceItem()); if (window) { emit windowHidden(window); // Always schedule an update maybePostUpdateRequest(); } }