diff options
author | Vaxry <[email protected]> | 2024-11-16 23:04:57 +0000 |
---|---|---|
committer | Vaxry <[email protected]> | 2024-11-18 14:26:44 +0000 |
commit | c4a77b8da7783d95345935cd2468d83cd54d182b (patch) | |
tree | 900fb33145b97a4cc3507bc616c1d306f3d92651 | |
parent | 38b6f3babb1e12dff8e1139b97d6ada40c945af9 (diff) | |
download | Hyprland-c4a77b8da7783d95345935cd2468d83cd54d182b.tar.gz Hyprland-c4a77b8da7783d95345935cd2468d83cd54d182b.zip |
core: guard pmonitor in focuswindow
may be null
fixes #8483
-rw-r--r-- | src/Compositor.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index da20c5cf..fbbfd7e7 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1077,7 +1077,7 @@ void CCompositor::focusWindow(PHLWINDOW pWindow, SP<CWLSurfaceResource> pSurface PWORKSPACE->rememberPrevWorkspace(m_pLastMonitor->activeWorkspace); if (PWORKSPACE->m_bIsSpecialWorkspace) m_pLastMonitor->changeWorkspace(PWORKSPACE, false, true); // if special ws, open on current monitor - else + else if (PMONITOR) PMONITOR->changeWorkspace(PWORKSPACE, false, true); // changeworkspace already calls focusWindow return; @@ -1088,7 +1088,7 @@ void CCompositor::focusWindow(PHLWINDOW pWindow, SP<CWLSurfaceResource> pSurface /* If special fallthrough is enabled, this behavior will be disabled, as I have no better idea of nicely tracking which window focuses are "via keybinds" and which ones aren't. */ - if (PMONITOR->activeSpecialWorkspace && PMONITOR->activeSpecialWorkspace != pWindow->m_pWorkspace && !pWindow->m_bPinned && !*PSPECIALFALLTHROUGH) + if (PMONITOR && PMONITOR->activeSpecialWorkspace && PMONITOR->activeSpecialWorkspace != pWindow->m_pWorkspace && !pWindow->m_bPinned && !*PSPECIALFALLTHROUGH) PMONITOR->setSpecialWorkspace(nullptr); // we need to make the PLASTWINDOW not equal to m_pLastWindow so that RENDERDATA is correct for an unfocused window |