mirror of
https://github.com/hyprwm/Hyprland
synced 2024-12-26 16:09:49 +01:00
surface: emit unmap before unmapping and releasing the buffers
This commit is contained in:
parent
7df9b01d48
commit
a9d87bd666
5 changed files with 5 additions and 6 deletions
|
@ -73,8 +73,8 @@ CLayerShellResource::CLayerShellResource(SP<CZwlrLayerSurfaceV1> resource_, SP<C
|
|||
|
||||
if (!attachedBuffer && mapped) {
|
||||
mapped = false;
|
||||
surface->unmap();
|
||||
events.unmap.emit();
|
||||
surface->unmap();
|
||||
configured = false;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -365,8 +365,8 @@ CXDGSurfaceResource::CXDGSurfaceResource(SP<CXdgSurface> resource_, SP<CXDGWMBas
|
|||
|
||||
if (!surface->current.buffer && mapped) {
|
||||
mapped = false;
|
||||
surface->unmap();
|
||||
events.unmap.emit();
|
||||
surface->unmap();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -152,8 +152,8 @@ CWLSurfaceResource::~CWLSurfaceResource() {
|
|||
|
||||
void CWLSurfaceResource::destroy() {
|
||||
if (mapped) {
|
||||
unmap();
|
||||
events.unmap.emit();
|
||||
unmap();
|
||||
}
|
||||
events.destroy.emit();
|
||||
PROTO::compositor->destroyResource(this);
|
||||
|
|
|
@ -87,8 +87,8 @@ CWLSubsurfaceResource::CWLSubsurfaceResource(SP<CWlSubsurface> resource_, SP<CWL
|
|||
}
|
||||
|
||||
if (!surface->current.buffer && surface->mapped) {
|
||||
surface->unmap();
|
||||
surface->events.unmap.emit();
|
||||
surface->unmap();
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
|
|
@ -114,12 +114,11 @@ void CXWaylandSurface::unmap() {
|
|||
std::erase(g_pXWayland->pWM->mappedSurfacesStacking, self);
|
||||
|
||||
mapped = false;
|
||||
events.unmap.emit();
|
||||
surface->unmap();
|
||||
|
||||
Debug::log(LOG, "XWayland surface {:x} unmapping", (uintptr_t)this);
|
||||
|
||||
events.unmap.emit();
|
||||
|
||||
g_pXWayland->pWM->updateClientList();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue