diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-03-24 18:44:42 +0000 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-03-24 18:44:42 +0000 |
| commit | b3a70b565e67ebf00bcf4ecbae54fc96e527828e (patch) | |
| tree | f1e72ac1d8a96f7ba37e11855c72f61a57714758 /src/helpers/SubsurfaceTree.cpp | |
| parent | e73c6fd3b03492760aa3787794d16c3fcf5458bf (diff) | |
subsurfaces: avoid reading destroyed surfaces
Diffstat (limited to 'src/helpers/SubsurfaceTree.cpp')
| -rw-r--r-- | src/helpers/SubsurfaceTree.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/helpers/SubsurfaceTree.cpp b/src/helpers/SubsurfaceTree.cpp index 92bfd448..43ff3be7 100644 --- a/src/helpers/SubsurfaceTree.cpp +++ b/src/helpers/SubsurfaceTree.cpp @@ -188,11 +188,12 @@ void Events::listener_unmapSubsurface(void* owner, void* data) { std::find_if(SubsurfaceTree::surfaceTreeNodes.begin(), SubsurfaceTree::surfaceTreeNodes.end(), [&](const SSurfaceTreeNode& other) { return &other == PNODE; }); if (IT != SubsurfaceTree::surfaceTreeNodes.end()) { - int lx = 0, ly = 0; - addSurfaceGlobalOffset(PNODE, &lx, &ly); - - wlr_box extents = {lx, ly, 0, 0}; if (PNODE->pSurface && PNODE->pSurface->exists()) { + int lx = 0, ly = 0; + addSurfaceGlobalOffset(PNODE, &lx, &ly); + + wlr_box extents = {lx, ly, 0, 0}; + extents.width = PNODE->pSurface->wlr()->current.width; extents.height = PNODE->pSurface->wlr()->current.height; |
