diff --git a/src/events/Popups.cpp b/src/events/Popups.cpp index a43941c1..73a50ac4 100644 --- a/src/events/Popups.cpp +++ b/src/events/Popups.cpp @@ -116,6 +116,8 @@ void Events::listener_mapPopupXDG(wl_listener* listener, void* data) { Debug::log(LOG, "New XDG Popup mapped"); PPOPUP->pSurfaceTree = SubsurfaceTree::createTreeRoot(PPOPUP->popup->base->surface, addPopupGlobalCoords, PPOPUP); + + Debug::log(LOG, "XDG Popup got assigned a surfaceTreeNode %x", PPOPUP->pSurfaceTree); } void Events::listener_unmapPopupXDG(wl_listener* listener, void* data) { diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index 136dfce7..0ea2334e 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -112,6 +112,8 @@ void Events::listener_mapWindow(wl_listener* listener, void* data) { PWINDOW->m_pSurfaceTree = SubsurfaceTree::createTreeRoot(g_pXWaylandManager->getWindowSurface(PWINDOW), addViewCoords, PWINDOW); + Debug::log(LOG, "Window got assigned a surfaceTreeNode %x", PWINDOW->m_pSurfaceTree); + if (!PWINDOW->m_bIsX11) { addWLSignal(&PWINDOW->m_uSurface.xdg->surface->events.commit, &PWINDOW->listen_commitWindow, PWINDOW, "XDG Window Late"); addWLSignal(&PWINDOW->m_uSurface.xdg->toplevel->events.set_title, &PWINDOW->listen_setTitleWindow, PWINDOW, "XDG Window Late"); diff --git a/src/helpers/SubsurfaceTree.cpp b/src/helpers/SubsurfaceTree.cpp index e551c528..2e99d01f 100644 --- a/src/helpers/SubsurfaceTree.cpp +++ b/src/helpers/SubsurfaceTree.cpp @@ -64,7 +64,11 @@ void SubsurfaceTree::destroySurfaceTree(SSurfaceTreeNode* pNode) { } } - RASSERT(exists, "Tried to delete a surfaceTreeNode that doesn't exist!"); + if (!exists) { + Debug::log(ERR, "Tried to remove a SurfaceTreeNode that doesn't exist?? (Node %x)", pNode); + return; + } + for (auto& c : pNode->childSubsurfaces) destroySubsurface(&c);