aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/managers/KeybindManager.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 2b99ce97..823e2d2e 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -2333,8 +2333,16 @@ void CKeybindManager::pinActive(std::string args) {
if (!PWINDOW->m_bIsFloating || PWINDOW->m_bIsFullscreen)
return;
- PWINDOW->m_bPinned = !PWINDOW->m_bPinned;
- PWINDOW->m_pWorkspace = g_pCompositor->getMonitorFromID(PWINDOW->m_iMonitorID)->activeWorkspace;
+ PWINDOW->m_bPinned = !PWINDOW->m_bPinned;
+
+ const auto PMONITOR = g_pCompositor->getMonitorFromID(PWINDOW->m_iMonitorID);
+
+ if (!PMONITOR) {
+ Debug::log(ERR, "pin: monitor not found");
+ return;
+ }
+
+ PWINDOW->m_pWorkspace = PMONITOR->activeWorkspace;
PWINDOW->updateDynamicRules();
g_pCompositor->updateWindowAnimatedDecorationValues(PWINDOW);