diff --git a/src/managers/SeatManager.cpp b/src/managers/SeatManager.cpp index 6d2b906fb..23db671af 100644 --- a/src/managers/SeatManager.cpp +++ b/src/managers/SeatManager.cpp @@ -606,11 +606,11 @@ void CSeatManager::setGrab(SP grab) { if (!refocus) { surf = CWLSurface::fromResource(currentFocus); - layer = surf->getLayer(); + layer = surf ? surf->getLayer() : nullptr; } if (!refocus && !layer) { - auto popup = surf->getPopup(); + auto popup = surf ? surf->getPopup() : nullptr; if (popup) { auto parent = popup->getT1Owner(); layer = parent->getLayer();