summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-09-05 00:59:13 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-09-05 00:59:13 +0200
commitcb839c9dcc0196312e5c6b7014114d9b489e0632 (patch)
tree6d11142c40e95e547870100e5f364c0725a3f648 /src/managers/input/InputManager.cpp
parent3dd514a4529c3c22d227235af55c4d4d771dcfe0 (diff)
guard pFoundWindow in CInputManager under fullscreen
Diffstat (limited to 'src/managers/input/InputManager.cpp')
-rw-r--r--src/managers/input/InputManager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp
index bdf33969..66015d5b 100644
--- a/src/managers/input/InputManager.cpp
+++ b/src/managers/input/InputManager.cpp
@@ -144,6 +144,13 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(PMONITOR->activeWorkspace);
if (PWORKSPACE->m_bHasFullscreenWindow && !foundSurface && PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL) {
pFoundWindow = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID);
+
+ if (!pFoundWindow) {
+ // what the fuck, somehow happens occasionally??
+ PWORKSPACE->m_bHasFullscreenWindow = false;
+ return;
+ }
+
foundSurface = g_pXWaylandManager->getWindowSurface(pFoundWindow);
surfacePos = pFoundWindow->m_vRealPosition.vec();