window/ls: reset core signals after destroy

fixes #7137
This commit is contained in:
Vaxry 2024-08-02 00:31:44 +02:00
parent ab0a3268e0
commit 09bb5658b7
2 changed files with 10 additions and 0 deletions

View file

@ -111,6 +111,11 @@ void CLayerSurface::onDestroy() {
layerSurface.reset();
if (surface)
surface->unassign();
listeners.unmap.reset();
listeners.destroy.reset();
listeners.map.reset();
listeners.commit.reset();
}
void CLayerSurface::onMap() {

View file

@ -790,6 +790,11 @@ void Events::listener_destroyWindow(void* owner, void* data) {
Debug::log(LOG, "Unmapped {} removed instantly", PWINDOW);
g_pCompositor->removeWindowFromVectorSafe(PWINDOW); // most likely X11 unmanaged or sumn
}
PWINDOW->listeners.unmap.reset();
PWINDOW->listeners.destroy.reset();
PWINDOW->listeners.map.reset();
PWINDOW->listeners.commit.reset();
}
void Events::listener_setTitleWindow(void* owner, void* data) {